06 июля 2016, 13:48 Да, только в Revo их лучше прописывать не так: [[*id:is=`15`:then=`[[$chunk]]`]]а так: [[$[[*id:is=`15`:then=`chunk`]]]]Это из-за того, что парсер сначала выполняет все чанки на странице, а потом только выводит нужные в соответствии с условиями. Во втором же варианте будут обработаны только текстовые строки и пустые [[$]], если условие не выполнено. Но если используете Fenom, то можно не извращаться, поскольку там парсер работает по-другому: {if $_modx->resource.id == 15}{$_modx->getChunk('chunk')}{/if} Вопросы / Где правильнее вызвать сниппет - чанк или content? 8 +2 2
06 июля 2016, 11:50 1. У человека Evolution — там именно [*content*] 2. Для вывода по условиям нужно поставить PHx. Вопросы / Где правильнее вызвать сниппет - чанк или content? 8 +1
05 июля 2016, 19:03 Ну вообще-то конечно сниппет — самое оптимальное для таких вложенностей. Но если стоит pdoTools и выводите соответствующими инструментами, то попробуйте Fenom использовать: {var $av = $_pls['tv.aviable']} {if $av == 0} Нет в наличии {else} {if $av > 1 && < 10} <i class="fa fa-circle"></i> {else} {if $av >= 10 && < 30} <i class="fa fa-circle"></i> <i class="fa fa-circle"></i> {else} {if $av >= 30} <i class="fa fa-circle"></i> <i class="fa fa-circle"></i> <i class="fa fa-circle"></i> {/if} {/if} {/if} {/if}Вроде, нигде не ошибся )) Вопросы / Вопрос о phx 4 +2
05 июля 2016, 16:17 Попробуйте так: <?php $tip_poddonov = $hook->getValue('tip_poddonov'); $maxweight = $hook->getValue('maxweight'); $q = count($tip_poddonov); $count = 0; while($count < $q){ $string .= '<b>Тип поддонов для грузов:</b> '.$tip_poddonov[$count].'<br /><b>Макс. вес груза на палете, кг:</b> '.$maxweight[$count].'<br /><br />'; $count++; } $modx->setPlaceholder('all', $string); return true; Вопросы / FormIt динамические поля в шаблоне письма 8 0
03 июля 2016, 18:04 Ну и славненько ). Вообще, IMHO, если вывод чуть хитрее стандартного (несколько вкладок у формы, зависимые TV, запросы, подобные Вашему), лучше всегда конфигурации использовать — там, кстати, и возможностей больше. Вопросы / Как получить в админке имя альбома в MIGX? 10 0
03 июля 2016, 17:15 1. Если вывести на какой-нибудь странице: [[Snippet? &id=`1`]]Что-то выводит? 2. И сделайте, все же, через конфигурацию. Вопросы / Как получить в админке имя альбома в MIGX? 10 0
03 июля 2016, 16:38 Я сейчас проверил — работает. Сделайте конфигурацию — таким образом Вы избегнете ошибок. Например, эта строка, как минимум, должна быть такой: {"header":"Альбом", "sortable":"false", "dataIndex":"albumname", "renderer": "this.renderChunk", "renderchunktpl":"[[Snippet? &id=`[[+album]]`]]"} Вопросы / Как получить в админке имя альбома в MIGX? 10 0
03 июля 2016, 15:53 Да, сорри, это я не понял, что речь про админку. Прежде чем писать свой, попробуйте сделать это MIGX-поле через конфигурацию. Только для вывода в таблице назовите поле не album, а как-нибудь иначе, например, albumname. У него в качестве ререндера выберите thisRenderChunk и в поле renderChunk template пропишите: [[Snippet? &id=`[[+album]]`]] Вопросы / Как получить в админке имя альбома в MIGX? 10 0
03 июля 2016, 11:18 Можно сделать сниппет по мотивам этого: <?php if(empty($id)) return ''; $table = 'modx_gallery_albums'; $sql = "SELECT `name` FROM `$table` WHERE `id` = $id"; $query = new xPDOCriteria($modx, $sql); if ($query->prepare() && $query->stmt->execute()){ $res = $query->stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($res as $row){ $out = $row['name']; } } else { $out = "Ошибка"; } return $out; И вызывать его так: [[Snippet? &id=`[[+album]]`]] А можно поставить Rowboat и вызывать так: [[Rowboat? &table=`modx_gallery_albums` &tpl=`album-name` &where=`{"id":"[[+album]]"}` ]] Чанк «album-name»: [[+name]] Вопросы / Как получить в админке имя альбома в MIGX? 10 0
01 июля 2016, 12:14 У Вас что этот [[+results] выводит? Вопросы / как передать плейсхолдер в &tvFilters getResources 14 0
01 июля 2016, 11:53 А так работает? <fieldset id="mse2_[[+table]][[+delimeter]][[+filter]]"> <span>Сортировать по формату:</span> [[+rows]] </fieldset> Вопросы / Собственные фильтры для mFilter2 1 0
01 июля 2016, 11:39 У Вас дата в базе хранится в виде 2016-07-01 03:00:00, а Вы пытаетесь фильтровать по дате в Unix-формате. Если в лоб, то решение следующее: 1. Сделать еще одно поле timeUnix типа текст. 2. Сделать плагин на событие OnDocFormSave, который будет брать дату из поля timeEvent, переводить ее в нужный формат и записывать в поле TV timeUnix: <?php $res = $modx->getObject('modResource', $id); $date = $res->getTVValue('timeEvent'); if(empty($date)) return ''; $time = strtotime($date); $res->setTVValue('timeUnix', $time); 3. Выборку в pdoResources cделать уже через этот новый TV: &where=`{"timeUnix:>=,<=:AND":[1467331200,1498867200]}` Вопросы / Выбрать диапазон дат в pdoResources 2 +1 1
30 июня 2016, 15:36 Вы пытаетесь получить значение поля из формы, да еще и без указания самого поля)). Вам же нужно записать значение в плейсхолдер: $hook->setValue('allFormFields','тут_то_что_нужно записать'); Вопросы / FormIt динамические поля в шаблоне письма 8 +1
30 июня 2016, 15:17 Если товары в ресурсах, то подойдет. В описании же: "— Возможность работы с любым ресурсом, не обязательно товар Minishop2." Вопросы / Вопрос по дополнению msFavorites 2 0
30 июня 2016, 09:32 Как обычно, плейсхолдерами: rtfm.modx.com/extras/revo/formit/formit.hooks#FormIt.Hooks-CustomHooks Вопросы / FormIt динамические поля в шаблоне письма 8 +1
18 июня 2016, 17:21 А, ну тогда да. Сделайте, чтобы в базе было так: #63#||#66#||#636# и все будет гораздо проще )) Вопросы / modx getresources tvfilters checkbox 8 0
18 июня 2016, 17:04 Если у Вас в TV subcategory у товара в базу пишется ||***||, то будет. У одного товара это ||63||, у другого может быть ||636||,||363|| (если параметр множественный и соответствующим образом настроен), у третьего ||6363|| и тут нет никаких пересечений — это разные строки. Если прописывать в tvFilters %||[[*id]]||%, то все нормально будет выводиться. На странице с ID=636 мы же ищем товар, у которого в TV есть именно такая подстрока: ||636||. С какой стати нам выведется товар с ||63||? Другое дело, что может быть путаница из-за этого || — потому я всегда использую #. Вопросы / modx getresources tvfilters checkbox 8 0
18 июня 2016, 16:47 Это понятно. Я сам обычно использую ## или :: А что у Вас не работает-то? Если Вы используете || в качестве обёртки, то это должно фунциклировать: &tvFilters=`subcategory==%||[[*id]]||%` Только вызов у Вас какой-то странный. Сделайте так: [[pdoResources? &parents=`53` &includeTVs=`image,price,price-wsale,subcategory` &tpl=`product-item` &templates=`4` &tvFilters=`subcategory==%||[[*id]]||%` &tvFiltersOrDelimiter=`:` ]] Вопросы / modx getresources tvfilters checkbox 8 0
18 июня 2016, 16:30 А так? &tvFilters=`subcategory==%[[*id]]%` Вопросы / modx getresources tvfilters checkbox 8 0
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
а так:
Это из-за того, что парсер сначала выполняет все чанки на странице, а потом только выводит нужные в соответствии с условиями.
Во втором же варианте будут обработаны только текстовые строки и пустые [[$]], если условие не выполнено.
Но если используете Fenom, то можно не извращаться, поскольку там парсер работает по-другому:
2. Для вывода по условиям нужно поставить PHx.
Но если стоит pdoTools и выводите соответствующими инструментами, то попробуйте Fenom использовать:
Вроде, нигде не ошибся ))
Вообще, IMHO, если вывод чуть хитрее стандартного (несколько вкладок у формы, зависимые TV, запросы, подобные Вашему), лучше всегда конфигурации использовать — там, кстати, и возможностей больше.
Что-то выводит?
2. И сделайте, все же, через конфигурацию.
Например, эта строка, как минимум, должна быть такой:
Прежде чем писать свой, попробуйте сделать это MIGX-поле через конфигурацию.
Только для вывода в таблице назовите поле не album, а как-нибудь иначе, например, albumname.
У него в качестве ререндера выберите thisRenderChunk и в поле renderChunk template пропишите:
И вызывать его так:
А можно поставить Rowboat и вызывать так:
Чанк «album-name»:
Если в лоб, то решение следующее:
1. Сделать еще одно поле timeUnix типа текст.
2. Сделать плагин на событие OnDocFormSave, который будет брать дату из поля timeEvent, переводить ее в нужный формат и записывать в поле TV timeUnix:
3. Выборку в pdoResources cделать уже через этот новый TV:
Вам же нужно записать значение в плейсхолдер:
"— Возможность работы с любым ресурсом, не обязательно товар Minishop2."
Сделайте, чтобы в базе было так: #63#||#66#||#636# и все будет гораздо проще ))
У одного товара это ||63||, у другого может быть ||636||,||363|| (если параметр множественный и соответствующим образом настроен), у третьего ||6363|| и тут нет никаких пересечений — это разные строки.
Если прописывать в tvFilters %||[[*id]]||%, то все нормально будет выводиться.
На странице с ID=636 мы же ищем товар, у которого в TV есть именно такая подстрока: ||636||. С какой стати нам выведется товар с ||63||?
Другое дело, что может быть путаница из-за этого || — потому я всегда использую #.
А что у Вас не работает-то? Если Вы используете || в качестве обёртки, то это должно фунциклировать:
Только вызов у Вас какой-то странный. Сделайте так: