-
- 2 Posts
Начал разбираться с modx. При создании сниппетов проявилась проблема: переменные объявляемые внутри функции как глобальные внутри нее не видны.
Код
$a=5;
function f(){
global $a;
echo "a=$a";
}
f();
вместо a=5, выводит a=
В чем проблема? И как ее решить?
Спасибо.
-
- 1,215 Posts
Код сниппетов исполняется парсером движка через eval, видимо поэтому и проблема. Тоже сталкивался с этим, в результате есть два выхода - либо в сниппете делать инклюд внешнего файла и там уже размещать весь код, удобнее в принципе по всем пунктам, удобно редактировать, возможно нормально отлаживать, уменьшает размер файла кеша. Либо - передавать переменную в качестве параметра.
Может быть конечно есть какой-то магический способ сделать переменные видимыми, но я его не знаю.
DirectResize 0.9 beta. PHPThumb, sets of configurations, configuration, binded to specific path. No backward compatibility. |
DirectResize 0.9. PHPThumb, наборы параметров, параметры, привязанные к определенным путям. Без обратной совместимости.
Unfortunately, DirectResize project is closed. If you want to continue development, PM me for access to project page on Google Code. К сожалению, проект DirectResize закрыт. Если вы желаете продолжить разработки, обращайтесь через ПМ для получения доступа к репозиторию на Google Code.
[PLUGIN] DirectResize - as Maxigallery but for single images ::
Download :: [url=
http://modxcms.com/forums/index.php/topic,21490]
-
- 1 Posts
В modx работает такая конструкция:
$GLOBALS["a"]=5;
function f(){
global $a;
echo "a=$a";
}
f();