Как в сниппете узнать, сколько раз вызвали его на странице?
Всем Здравия! Пожалуйста, скажи, кто в курсе: как в сниппете узнать в который раз его вызываем на одной странице? Поясню: допустим есть сниппет «test» и есть ресурс 1 с содержимым:
Так вот как в этом сниппете узнать, в первый раз его вызываем или во второй? А может и в третий, или в пятисотый?.. :) Заранее БлагоДарю всех неравнодушных!!!
Ответ:
[[!test?test=`test`]]blablablabla[[!test?test=`test`]]
Так вот как в этом сниппете узнать, в первый раз его вызываем или во второй? А может и в третий, или в пятисотый?.. :) Заранее БлагоДарю всех неравнодушных!!!
Ответ:
if(!$_SESSION['uploCallNum'] OR $_SESSION['uploCallNumHash'] != $hash) {
$_SESSION['uploCallNum']='0';
$_SESSION['uploCallNumHash']=$hash;
}
/* Здесь используем номер вызова $_SESSION['uploCallNum'] */
$_SESSION['uploCallNum'] = $_SESSION['uploCallNum']+1;
Комментарии: 6
Похоже надо с сессиями работать, я правильно понимаю?
Можно в сниппете делать
$modx->log(1, 'Меня вызвали!');
И считать потом сколько отметок в системном журнале.
хм, а каким кодом считать, сколько отметок в системном журнале?
Глазами считать.
Ты ни разу в системный журнал не смотрел, там где ошибки пишутся? Или тебе не для отладки нужно?
Ты ни разу в системный журнал не смотрел, там где ошибки пишутся? Или тебе не для отладки нужно?
Нет нет, мне совсем не для отладки… Мне необходимо посчитать, сколько раз сниппет вызывался, внутри самого сниппета. Это для вызываемых ID нужно, чтобы не дублировались…
Разобрался, БлагоДарю!
if(!$_SESSION['uploCallNum'] OR $_SESSION['uploCallNumHash'] != $hash) {
$_SESSION['uploCallNum']='0';
$_SESSION['uploCallNumHash']=$hash;
}
/* Здесь используем номер вызова $_SESSION['uploCallNum'] */
$_SESSION['uploCallNum'] = $_SESSION['uploCallNum']+1;
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.