Developer
подскажите, как сделать в админке настройки для определённого поля для шапки? т.е. есть чанк header, как сделать редактируемое поле где-то в админке в чанке?
Developer
Наверное через TV
и к какому ресурсу его прикрепить?
Иван
Системные настройки, clientConfig
Developer
К любому
это же неправильно, получается если на сайте 100 страниц, тогда нужно для каждой страницы прописывать каждый раз новое поле при изменении
Anonymous
Ну гуглится же.. https://modx.pro/help/10892
Я поставил плагин, но все равно те же места подчеркиваются красным. Почему так? Может, его как-то настроить надо? Но на github вообще ничего не написано.
Anonymous
Может, он для старой версии PHPStorm?
Артур
это же неправильно, получается если на сайте 100 страниц, тогда нужно для каждой страницы прописывать каждый раз новое поле при изменении
Что неправильно? Если поле должно менять в зависимости от ресурса, то всё правильно, если не должно, то можно выводить во всех ресурсах значение этого поля из Главной, но вот второй вариант лучше заменить на поле в client Config
Anonymous
У меня 2021.1.1
Developer
Системные настройки, clientConfig
благодарю и тех кто откликнулся
Иван
Anonymous
Есть вопрос. Я использую fenom. Конструкция @CODE: и тут плейсхолдер работает только со сниппетами pdoTools? А с getImageList от MIGX, например, не будет работать, верно? Я пытаюсь такое написать, но не получается: {'getImageList' | snippet : [ 'tvname' => 'itemsReviews', 'tpl' => '@CODE: <div class="review-item">'~{$idx}~'></div>', ... ]} То есть я через fenom пытаюсь получить плейсхолдер idx от getImageList (сниппет от MIGX).
Anonymous
Не подскажу - я на VSCode
Спасибо, может, еще кто ответит.
Иван
https://docs.modx.pro/komponentyi/pdotools/parser#%D0%92%D1%8B%D0%B2%D0%BE%D0%B4-MIGX-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-fenom
Anonymous
Зачем тут getimagelist
Я знаю, что можно без него - через цикл. Но тогда к картинкам он не будет подставлять путь к источнику файлов. Мне это не очень нравится. Да и я привык использовать getImageList. Да и просто вопрос касается fenom. Я хочу лучше узнать, как он работает. Я правильно понимаю, что работает он только со сниппетами pdoTools?
Anonymous
Все подставляется
Как тогда поставить [[+idx]]? Где я ошибся?
Anonymous
Если так писать [[+idx]], то подставится. Но мне хочется через fenom подставить. Как это сделать?
Anonymous
Ведь плохо смешивать два синтаксиса.
Иван
{foreach $_modx->resource.resourcealbum | fromJSON as $item} {set $path_slide = 'assets/resourceimages/'~$_modx->resource.id~'/' ~$item.image}
Anonymous
А как через сниппет подставить-то? Про цикл я же уже написал выше.
Anonymous
Я хочу узнать, действительно ли fenom работает только с pdoTools
Anonymous
{foreach $_modx->resource.resourcealbum | fromJSON as $item} {set $path_slide = 'assets/resourceimages/'~$_modx->resource.id~'/' ~$item.image}
Не всегда можно знать путь к источнику файлов. Но это другая тема.
Иван
И все выводится
Anonymous
as $idx => $item
А куда это подставлять?
Anonymous
Вместо [[+idx]]?
Иван
В forech
Иван
Я для фенома написал
Anonymous
Я для фенома написал
'tpl' => '@CODE: <div class="review-item">отзыв '~{as $idx => $item}~'</div>',
Иван
Блин....
Иван
Я же выше написал.
Anonymous
Не работает то, что ты написал. У меня просто белая страница выводится.
Иван
Anonymous
Где ошибка?
Артур
Где ошибка?
Ты журнал ошибок посмотри там написано
Anonymous
Я же написал, что хочу через сниппет вывести, а не через цикл. Чтобы лучше понять, как работает fenom. И работает ли он с другими сниппетами (не с pdoTools).
Anonymous
Третий раз уже
Anonymous
Я знаю, что можно без него - через цикл. Но тогда к картинкам он не будет подставлять путь к источнику файлов. Мне это не очень нравится. Да и я привык использовать getImageList. Да и просто вопрос касается fenom. Я хочу лучше узнать, как он работает. Я правильно понимаю, что работает он только со сниппетами pdoTools?
Anonymous
Я хочу узнать, действительно ли fenom работает только с pdoTools
Иван
С нее начните и много вопросов отпадет
Anonymous
ДА. Читайте документацию...
А есть какие-то обходные пути?
Иван
Артур
Я хочу узнать, действительно ли fenom работает только с pdoTools
Через феном можно вызвать любой сниппет, но вот использовать файловые чанки можно только в сниппетах семейства pdoTools и в некоторых из modstore, getimagelist к ним не относится.
Danil
Скиньте пожалуйста канал с работой модекса
Anonymous
Есть товары. У них есть картинки. Превью конкретного размера я не генерировал. Например, 150x150. Просто залил картинки и все. Какие размеры у картинок были, такие и сгенерировались, как я понял. Как теперь вывести плитку товаров с картинками? Плитка выводится через msProducts. Но как туда картинки добавить? Я нашел, что надо использовать параметр includeThumbs. Я написал туда 150x150. Потом в чанке написал так: [[+150x150]]. Картинки не выводятся.
Anonymous
В документации написано: Список размеров превьюшек для выборки, через запятую. Например: "120x90,360x240" дадут плейслолдеры [[+120x90]] и [[+360x240]]. Картинки должны быть заранее сгенерированы в галерее товара. Я ничего заранее не генерировал. Товаров очень много, чтобы проходиться по ним и генерировать. Да и место на хостинге это займет. Можно вывести то, что есть?
Anonymous
Такие размеры, которые есть.
Артур
Такие размеры, которые есть.
При установке minishop2 добавляется новый источник файлов. Вот в его настройках и можно задать нужные размеры. Генерируются превью автоматически при загрузке файлов в галерею товара. Соответственно плейсхолдеры будет такими какие размеры задашь.
Anonymous
Почему pdoResources вызывается кешированным (см. примеры в документации: https://docs.modx.pro/komponentyi/pdotools/snippetyi/pdoresources) А msProducts - некешированным (https://docs.modx.pro/komponentyi/minishop2/snippetyi/msproducts)?
Anonymous
Кешировать надо тогда, когда контент страницы всегда один и тот же. А запрещать кешировать - когда контент разный. В pdoPage контент будет разный - в зависимости от GET параметров. А в msProducts то почему он разный?
Anonymous
Кто-нибудь может помочь? Я в сниппете написал: <?php require_once $_SERVER['DOCUMENT_ROOT'] . '/ELEMENTS/SNIPPETS/my_snippet.php'; Ставлю точку останова на первую строку в файле my_snippet.php. Она срабатывает, когда сниппет вызывается из шаблона. А когда из чанка - не срабатывает. Если перед require_once написать "return '123';" , то срабатывать будет еще и в чанке.
Anonymous
Я вытащил код сниппета из файла my_snippet.php и написал вместо require_once. То есть просто в MODX. Как обычно сниппеты создаются. Сниппет сработал правильно и из чанка в том числе.
Anonymous
Кто-нибудь сталкивался? Не работает require_once в некоторых случаях. Почему?
Anonymous
Если сделать статичным сниппет, то работает.
Anonymous
в error.log пусто.
Anonymous
Чанк у меня вызывается через вызов {'!msProducts' | snippet : [ ... ]}
Алексей
ну не важно что там в логах. почему вы именно так делаете? require_once $_SERVER['DOCUMENT_ROOT'] . '/ELEMENTS/SNIPPETS/my_snippet.php';
Anonymous
Я попробовал вместо $_SERVER... написать MODX_BASE_PATH - то же самое.
Anonymous
Это баг MODX
Алексей
Это баг MODX
нет. Вы что-то не так делаете и не понимаете идеологию MODX
Anonymous
где вы вызываете данный сниппет с require_once покажите его вызов.
В чанке, который вызывается через сниппет msProducts. {'!msProducts' | snippet : [ 'parents' => 2, 'limit' => '4', 'includeThumbs' => 'small', 'resources' => '-{$_modx->resource.id}', 'tpl' => '@FILE:chunks/productCard.tpl' ]}
Алексей
в чанке. покажите вызов снипета в чанке.
Anonymous
в чанке. покажите вызов снипета в чанке.
<a data-id="{$id}" href="{'getMyUrl' | snippet : ['id' => $id]}" class="product-card__title">{$pagetitle}</a>
Anonymous
data-id - все правильно выводит. А в href пустота
Алексей
так. чудесно. А getMyUrl - это у вас require_once ???
Anonymous
Да, я только что переименовал его
Алексей
Хорошо.
Алексей
А что если я скажу, что сниппеты это своего рода функции в MODX?
Anonymous
Если поставить return require_once, то он будет возвращать 1.
Алексей
Вы с php давно?