Сергей
Попробовал через параметр documents указать сниппет [!documents?id=[+id+]!]:
$q = $modx->db->makeArray($modx->db->query('select id from modx_site_content where parent = '.$id));
$ids = [];
foreach ( $q as $v ){
$ids[] = $v['id'];
}
return $ids;
Выдаёт ошибку: SQL > select id from modx_site_content where parent = [+id+
Антон
id='[+id+]'
Антон
а так?
Антон
только кавычка такая `
Сергей
SQL > select id from modx_site_content where parent = [+id+]
Сергей
и с такой и с другой
Сергей
Если в сниппете указать return $id; то выдаёт не [+id+], а идентификатор
Dmytro
Dmytro
В покрытии тестами все равно какую версию покрывать ибо логика работы одинаковая, цель в том что б все что работало в 7.1.6 работало и во всех последующих версиях. Так что по части юнит тестов не переживайте
Dmytro
Dmytro
В доклистер проще через prepare.
Dmytro
Phx есть в ядре и будет, поддерживает его Яма. Я туда не лезу так как его не использую и не рекомендую;) без него очень даже все работает;)
Сергей
В продолжение своей темы, перевёл всё на свой сниппет, теперь то всё ок (у меня), но проблема то modx мной описанная серьёзная, её бы решить
Dmytro
Где серьездная проблема??
Сергей
Как бы у кого что не слетело при переходе
Dmytro
Не должно работать так как ты указал
Dmytro
Id=[+id+]
Сергей
[[DocLister?parents=0 &tpl=@CODE: [[DocLister?parents=[+id+] ... ]] ... ]] Так должно? Я перепробовал всё
Dmytro
Нет так не должно
Сергей
все кавычки вырезались
Сергей
так раньше то работало
Dmytro
При чем тут кавычки у тебя у вложенного снипета есть параметры
Dmytro
А значит его надо выносить в чанк
Anton
tpl в чанк
Сергей
семён семёныч)
Pavlo
или можно в prepare вынести вызов вложенного снипета
Pavlo
тогда не нужно будет чанк
Dmytro
+1
Dmytro
И работать так быстрее будет
Pavlo
ага
Антон
Помогите с sgLister разобраться. Точнее связкой if и sgLister
Антон
Есть вызов картинки:
[[if? &is=[+newsImage+]:!=:
&then=<a href="[~[+id+]~]"><img class="imgl borderedbox pad5" title="[[alterTitle? &id = [+id+]]]" alt="[[alterTitle? &id = [+id+]]]" src="[[phpthumb? &input=[+newsImage+] &options=`w=125,h=125,zc=1]]" ></a>`
&else={{image_one}}]]
Антон
и чанк image_one:
[[sgLister?
&display=1
&ownerTPL=@CODE: [+dl.wrap+]
&thumbSnippet=phpthumb
&thumbOptions=w=80
&tpl=@CODE:<a rel="fancy" href="[~[+id+]~]" title="[[alterTitle? &id=[+id+]]]" alt="[[alterTitle? &id=[+id+]"><img class="imgl borderedbox pad5" alt="[[alterTitle]]" title="[[alterTitle]]" src="[+thumb.sg_image+]"></a>
]]
Антон
и не работает
Антон
выводится содержание чанка в виде текста
Anton
Глняь доки по if &else=@TPL:image_one
Андрей [aharito]
Сергей
я по моему раза три до этого сам догадывался, но так и не усвоил видимо
Антон
Антон
оно всё внутри чанка, который шаблон для доклистера
Сергей
Я пока к препаре не особо привык
Андрей [aharito]
Сергей
надо будет потом не забыть) сейчас то я уже сниппет свой использовал
Антон
Да в общем, такой смысл этого всего:
Есть раздел новости, куда выводится превью и summary.
Сейчас превью подтягивается из TV. И в общем, всё работает. Но часто в новости есть ещё разные картинки. И подтягиваются они туда через sgLister.
Хочется избавиться от TV, чтобы в список новостей выводилась первая картинка из галереи, если нет TV.
Dmytro
Лучше сразу привыкайте к препаре оно не только проще будет но и сайт заметно быстрее работать станет
Dmytro
Ну так проверка в препаре и готово
Dmytro
А в шаблоне просто [+image+]
Антон
ага :)
Anton
Привет
Андрей [aharito]
Не делайте влож. Сниппетов, напишите лучше обертку или используйте prepare
Алексей
для чайников есть где нибудь наглядный пример?
Anton
Подскажите: есть папка с фото на сайте. Хочу отресайзить их в меньший размер и положить в подпапку с теми же именами.
Как лучше организовать?
Андрей [aharito]
Андрей [aharito]
Антон
для чайников есть где нибудь наглядный пример?
http://docs.evolution-cms.com/Extras/Snippets/DocLister/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%BE%D0%BC
Алексей
😅 ну да глупый вопрос был
Andrew
Andrew
понаделают вложенности из if, потом такое практически нечитабельным становится
Антон
дак вот...
Антон
теперь пытаюсь это в нормальный вид привести
Andrew
в prepare - передается название сниппета, создаешь сниппет как обычно, в нем получаешь переменную $data - и работаешь с ней, в конце сниппета return $data;
например
$data['customTitle'] = $data['pagetitle'] . ' click me';
return $data;
в $data для доклистера по сути попадают поля докумнета + tv, если указаны для выборки
Андрей [aharito]
Andrew
phpthumb
Andrew
и не нужно ничего усложнять )
Andrew
1) создаете сниппет
2) в нем получаете список файлов
3) любой ресайз - гугл, можно и thumb - просто потом перенести адрес срезайненной картинку в нужную папку, можно даже и переименовать, что сгенерировал thumb
4) ну и да, как предложили можно создать документ и в нем вызов своего сниппет, как вариант
Антон
как-то делал так: скачал все картинки, прогнал из через пакетную обработку xnview, закачал обратно
Andrew
тоже вариант )
Андрей [aharito]
Антон
ФКР?
Андрей [aharito]
ФКР - это Фактор Крутости Разработчика )))))
Антон
ааа :)