MIGX getImageList и Fenom
Есть такой вызов
По поводу @CODE и fenom, — работает феном в чанке относительно самого ресурса. То есть, когда я делаю так
Когда я пишу
Когда я пишу
То работает, получаю содержимое переменной. Весь массив значений.
Вопрос, как использовать феном, чтобы не писать свой парсер переменной и не использовать классический вызов через квадратные скобки, а воспользоваться {$image}?
{$_modx->runSnippet('!getImageList', [
'tvname' => 'tv_product_main_gallery',
'tpl' => '@CODE: <some_chunk>'
])} По поводу @CODE и fenom, — работает феном в чанке относительно самого ресурса. То есть, когда я делаю так
'tpl' => '@CODE: [[+image]]'Работает.Когда я пишу
'tpl' => '@CODE: {$image}' То не работает.Когда я пишу
'tpl' => '@CODE: {$_modx->resource.myMIGXtv}' То работает, получаю содержимое переменной. Весь массив значений.
Вопрос, как использовать феном, чтобы не писать свой парсер переменной и не использовать классический вызов через квадратные скобки, а воспользоваться {$image}?
Комментарии: 67
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Алексей, спасибо. Буду пробовать ;)
Я сделал копию getImageList и добавил в начало:
И заменил $modx->getChunk на $pdoFetch->getChunk
Но не работает.
Я после плагина о таком тоже подумал, но уже всё переделал под плагин.
Избавлялся таким образом от кучи запросов к базе.
Например:
Например, выводить только 2 первые записи, или пропустить первые 5 проходок?
И т.п.
Документация Fenom.
Или придётся getImageList через pdoPage запускать?
То есть по-умолчанию вы сразу достаете все данные, поэтому для реализации пагинации у вас есть 2 способа: визуально прятать часть результатов (внутри цикла foreach, например), отображая нужный промежуток в зависимости от get-параметра или с помощью jQuery при помощи display block/none.
Каким образом прописать условие (ранее из обычного вызова): &where=`{«active»:«1»}`, где active это поле, т.е. указать если не активно тогда изображение не выводим!?
Подскажите пожалуйста как вывести средствами fenom данную конструкцию, избавившись от квадратных скобок. Вроде читаю тему, понимаю суть, но в голову решение не идёт.
Содержимое чанка adv_tpl.Index:
+ ограничить выборку limit'a по MIGX_idx (не помню точное название плейсхолдера)
Вывод схожий, но в чанке всё немного по другому:
Первая проблема с он не хочет работать
Вторая с Тем что у поля изображения у меня указан отдельный источник файлов, а тянет он похоже информацию относительно корня обходя эту настройку
И внутри самого цикла:
По поводу второго момента — пропишите недостающий путь источника перед картинкой?
github.com/fenom-template/fenom/blob/master/docs/ru/tags/foreach.md
{$value@first? 'col-md-offset-2 col-lg-offset-2': ''}
Как в fenom прописать что если нет ни одного option тогда фраза скажем «опций нет», т.е. значение по default???
в данном случае поскольку? без: только часть проверки без возвращаемых вариантов! Если не пусто тогда выводим иначе «пофиг»
Форыч должен выводить на странице те строки, в которых одно из значений в поле aml_resource совпадает с id текущей страницы.
Выводится только первое значение.
То есть, строка должна вывестись в ресурсах 2,3,4, но выводится только в 2.
Где что не так делаю?
Меняем
на
и все работает.
С такой схемой пробовал, не получается, '$row._last' просто напросто не существует.
Но тут же назрел другой вопрос, а что если нужно и поле _last и поле idx и скажем еще поле _alt для дальнейшего условия? Тобишь:
Естественно это пример а не реальные требования.
Есть небольшой вопрос:
На проекте есть 4 услуги, у каждой из которых есть по 4 тарифа, через MIGX + foreach тарифы выводятся на нужных страницах в нужных местах.
Но появилась задача, вывести по 1му тарифу из каждой услуги на главной странице. В идеале что бы это были только тарифы с минимальной ценой(повторяющихся нет) или скажем тариф у коготого стоит галочка «На главную».
Как можно реализовать выборку из всех 4х услуг и отобрать нужные элементы по условиям?
Было бы проще поработать с кодом, но условный процесс для вывода на главной выглядит так:
1. Вытягиваешь из базы все услуги
2. Запускаешь foreach на полученные услуги в пункте 1
2.1 Сортируешь тарифы в по возрастанию
2.2 Применяешь ещё фильтры на нужные тебе тарифы
2.3 Выводишь самый первый тариф после сортировки (он будет минимальный)
3. Foreach закончен. Всё выведено
Надеюсь, я верно понял вопрос и подсказал.
С другой стороны этот топик про MIGX getImageList и fenom…
в пунктах:
1. Вытягиваешь из базы все услуги
2. Запускаешь foreach на полученные услуги в пункте 1
Не могу сообразить как это записать, как вытягивать данные с одной страницы получилось, но с 4х и складывать всё грубо говоря в кучу не понимаю. Даже без фильтрации, скажим если выводить всё со всех страниц
В итоге нет ни картинки, ни миниатюры.
Что делается не так? Если я добавляю вот это:
То хотя бы открывается картинка при клике на миниатюру. Но миниатюра идет стандартны noimage. Что не так?
Что прописать вот сюда, чтобы миниатюра нормальная появлялась?
1. Почитайте — modx.pro/howto/16490
2. Воспользуйтесь и посмотрите что живет у вас в переменной
То он догадается и дописать путь в сам путь к файлу? Иначе это очень неумный человек.
Если он это сделал и у него не заработало, то phpthumbon добрался таки до файла, обработал его согласно опциям и (насколько я помню) вместо существующего пути файла он подставляет свой путь, с обработанным изображением, которое хранится в директории указанной в системных настройках.
Такие выводы я сделал заочно, ибо не использую phpthumbon и не вижу что там у человека получается. :) Возможно конечно я не прав, человек то пропал и ничего не ответил, а возможно кто-то с такой же проблемой столкнется. Помогай вот теперь…
Сейчас проверю, отпишусь.
вот так возможно и увидит.
Есть не большая тонкость.
здесь собирается путь не посредственно в HTML и потом картинку видит именно браузер, а надо что бы ее увидел сначала сниппет, поэтому путь к картинке надо собирать раньше.
Вот что получилось по факту в коде сайта:
Почему-то заработало, только вот в таком виде.
Спасибо Денису за подсказку с написанием пути.
Есть три конфигурации для мультиформ, одна основная, которая указывается в тв для ресурса и две как переключатели.
Столкнулся с такой проблемой что путем:
выводятся только поля основной migx конфигурации.
А вот когда использую сниппет:
Выводит все поля всех связанных конфигураций. Вывести бы все поля через Fenom, было бы идеально.
Решение
col-lg-6>migx_tv_1 | col-lg-6>migx_tv_2
col-lg-6>migx_tv_1 | col-lg-6>migx_tv_2
…
Пытался вывести так:Сначала пробегает по первому migx_tx, и вторая колонка соответственно пустая, затем бежит по второму migx_tv — соответственно нечего вложить в первую колонку.
Четное и нечетное — соответственно тоже просто idx не выводит migx_tx по этому принципу.
Я конечно могу версткой вложить в колонку — все значения каждого из migx_tv, но мне интересно можно ли межевать значения из массива между собой.
Но по логике, вам нужно проверять приходит 1й migx или 2й.
это делаетя так:
, а потом пробежится по второму массиву и вытянет объекты с элементом {$row.img}
Мне нужно, что бы параллельно (первый TV > первый idx) + (второй TV > второй idx)