Задача: вызов двух случайных документов. (отзывы клиентов)
Сделал дитту, написал сниппет, который возвращает два случаных ид.
<?php
$resource = $modx->getDocumentChildren($folder, 1, 0, ’id’);
$random = (rand(1, count($resource)) - 1);
$random2 = $random;
while ($random2 == $random) {$random2 = (rand(1, count($resource)) - 1);}
$output = $resource[$random][’id’].",".$resource[$random2][’id’];
return $output;
?>
если я его вызываю [!random? &folder=`32`!] то он мне возращает всё как надо...
если я его сую в дитту... [!Ditto? &documents=`[[random? &folder=`32`]]` &depth=`1` &display=`2` &showInMenuOnly=`1` &tpl=`ditto_otz` !]
то всегда вижу одно и то же... кэширование с самой страницы я снял... кэширование с [[random? &folder=`32`]] снять не получается, он выдаёт ошибку.
Как быть? Как мне заставить дитту работать с моим сниппетом?
Или подскажите ещё варианты... (в чанке дитты три поля, интротекст, пэджтитл, лонгтитл и картинка TV)
То есть если нажать на Обновить то всё ок... А хочется, чтобы работало и без этого нормально
[e]Bu$ter, Алексей, спасибо. +rep Действительно, мне стоило бы сначала проверить наличие встроенного в дитту функционала под мои задачи прежде чем писать самому...
Но вообще, мне не оч нравится этот момент в ModX... я думаю, в новых версиях что-то изменится... чтобы можно было [!!] в [!!] запускать...
А пока приходится выкручиваться такими способами...
В названии топика про рэндомность ничего нет не случайно... Вопрос скорее носит общий характер, эти ид могли получаться не случайно, а по какому-нибудь хитрому алгоритму, которого в дитто нет... другие параметры тоже могут генерироваться на лету...
Ну а я знал про это параметр, но проигнорировал его, т.к. с его помощью можно только косвенно получить желаемый результат. Насколько я понял, там просото перетусовывается вывод (а запрашивается он стандартным способом). Ну и как тут рендомный item получить?
Конечно можно запросить 30 документов, перетусовать их (с помощью randomize=`1`), и вывести одни-два оказавшихся сверху. Но это, по моему, сверх иррациоально.
P.S. Напомнило кое что. У меня в плеере старого телефона на ряду со стандартным способом воспроизведения композиций — по порядку, был предусмотрен режим случайного воспроизведений — т.н. shuffle. Его реализация свалила меня с ног: при активации этого режима, загруженный список копозиций перетасовывался и играл дальше как обычный (по порядку).
Мне нужно вывести два случайных неповторяющихся отзыва... В данном случае через средства дитто будет работать?.. Или он может два одинаковых вывести?..
Может вся проблема в том что браузер кеширует? Очень уж на это похоже. Не оперой случаем, пользуешься?
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]