Илья Уткин · 31 октября 2017, 11:17 Я делал так: Чанк outer для фильтра: <div id="mse2_[[+table]][[+delimeter]][[+filter]]"> [[+rows]] </div> Чанк rows для фильтра: {if $idx == 0} <label for="mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]"> <input type="checkbox" name="[[+filter_key]]" id="mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]" value="[[+value]]" [[+checked]] [[+disabled]]/> [[+title]] <sup>[[+num]]</sup> </label> {/if} То есть, тупо не показываю вторую галочку. Вопросы / mFilter2 - из метода boolean убрать значение "нет" 2 +4 2
Alex Zhuravlev · 16 октября 2017, 22:24 Дописал под себя getLanguages. Сделал вывод в placeholders и добавил css class «active» getLanguages <?php $pdo = $modx->getService('pdoTools'); $uri = $_SERVER['REQUEST_URI']; if(substr($uri, 0, 1)) { $uri = mb_substr($uri, 1); $tmp = explode('/', $uri); if($path = $tmp[0]) { $tmp = $modx->getObject('localizatorLanguage', array('http_host:LIKE' => "%/{$path}/")); if($tmp) { $uri = str_replace("{$path}/", "", $uri); } } } $protocol = 'https://'; $languages = $modx->getIterator('localizatorLanguage'); foreach($languages as $language) { if(mb_substr($language->http_host, -1) == '/') { $placeholders = array( 'cultureKey'=>$language->key, 'active'=>$language->key == $modx->localizator_key ? 'active' : '', 'url'=>$protocol . $language->http_host . $uri, ); } else { $placeholders = array( 'cultureKey'=>$language->key, 'active'=>$language->key == $modx->localizator_key ? 'active' : '', 'url'=>$protocol . $language->http_host . '/' . $uri, ); } $output .= $pdo->getChunk($tpl, $placeholders); } return $output; В шаблоне <div class="langs"> {$_modx->runSnippet('!getLanguages', ['tpl' => 'section-langs-1',])} <div class="dropdown-menu"> {$_modx->runSnippet('!getLanguages', ['tpl' => 'section-langs-2',])} </div> </div> Содержимое section-langs-1 <a href="#" data-toggle="dropdown" role="button" aria-expanded="false"></a><img class="imglang {$active}" src="/assets/img/flags/{$cultureKey}.png" alt="{$cultureKey}"> Содержимое section-langs-2 <div class="dropdown-item"> {if $active != 'active'} <a class="{$active}" href="{$url}"><img class="imglang {$active}" src="/assets/img/flags/{$cultureKey}.png" alt="{$cultureKey}"></a> {else} <div class="{$active}"><img class="imglang {$active}" src="/assets/img/flags/{$cultureKey}.png" alt="{$cultureKey}"></div> {/if} </div> На уникальность не претендую, но уверен что кому то поможет. Критика и правки приветствуются. Новые дополнения и их версии / [localizator] Мультиязычность, СЕО, автоперевод... 353 0 2
Василий Наумкин · 11 октября 2017, 10:28 Нужно. Причём, писать лучше массивом, потому что сейчас у тебя там JSON с ошибкой: 'includeTVs' => 'searching', 'where' => [ 'searching' => 1, 'Status.value:IN' => ['', 0, 2], ],Тоже самое касается и join — все сниппеты pdoTools давно понимают указание массивов через Fenom. Вопросы / прошу помочь с where fenom 10 +1 2
man · 09 октября 2017, 11:38 Можно! В значения по умолчанию пишешь стандартный migx-json, типа такого но со своими полями: [{ "MIGX_id":"1", "name":"name 1", "description":"description 1", "size":"10,5 х 14,8см", ... "impPrint":"25"}, { "MIGX_id":"2", "name":"name 2", "description":"description 2", "size":"42,0 x 59,4 см", ... "impPrint":"22"}, { "MIGX_id":"3", "name":"name 3", "description":"description 3", "size":"59,4 х 84,1 см", ... "impPrint":"23"} ] Вопросы / MIGX. Поля по умолчанию 3 +1 1
Stan Ezersky · 14 сентября 2017, 21:57 Когда задаёте такие вопросы, хоть версии окружения пишите… Вопросы / Не отправляется заказ 6 0 1
Илья Уткин · 14 сентября 2017, 10:58 [[!+modx.user.id:eq=`1`:then=` <a href="manager/?a=element/chunk/update&id=8" data-action="iframe">Редактировать</a> `:else=``]] Только вместо восьмёрки id нужного чанка. Ну и оформить ссылку уже можно как угодно с помощью стилей. Новые дополнения и их версии / [frontendManager] Первая версия 94 +1 1
Илья Уткин · 14 сентября 2017, 10:36 Да, перед проверкой псевдонима никакое событие не вызывается. Здесь используется дополнение Tickets — тикеты это расширенные ресурсы с дополнительным функционалом, в том числе, со своим механизмом генерации URL. Можно как костыль использовать такое решение: 1. Включаем автоматическую генерацию псевдонима 2. В плагине проверяем — если псевдоним ресурса такой же, как его сгенерировал бы MODX, заменяем псевдоним: <?php switch ($modx->event->name) { case 'OnDocFormSave': $generated = $resource->cleanAlias($resource->pagetitle); if ($resource->alias == $generated) { $resource->set('alias', $resource->id); } $resource->save(); break; default: break; } Но это, конечно, очень грязный хак — ведь где-то автоматически сгенерированный псевдоним будет реально нужен. Нужно ограничивать работу плагина, например, родителем ресурса или его шаблоном. Вопросы / Id вместо alias в URL 10 +3 3
Stan Ezersky · 10 сентября 2017, 13:56 Хотлинк-защита location /images/ { valid_referers none blocked www.host.com host.com; if ($invalid_referer) { return 403; } } Вопросы / Как защитить фото в ms2gallery 19 +2 2
Володя · 07 сентября 2017, 06:56 <div id="msGallery" class="msoptionsprice-gallery"> <div class="fotorama" data-nav="thumbs" data-fit_="cover" data-allowfullscreen="false" data-swipe="true" data-enableifsingleframe="false"> {var $preload = []} {if $files?} {foreach $files as $file} {set $preload[] = '<img src='~$file['medium']~'>'} <a href="{$file['medium']}" target="_blank" alt="{$file['name']}" title="{$file['description']}"> <img src="{$file['small']}" class="img-responsive" alt="{$file['name']}" title="{$file['description']}"> </a> {/foreach} {else} <a href="{('assets_url' | option) ~ 'img/noimage.png'}" target="_blank" alt="noimage" title="noimage"> <img src="{('assets_url' | option) ~ 'img/noimage.png'}" alt="noimage" title="noimage"> </a> {/if} </div> </div> <div style="position:fixed;left:9999px;opacity:0;"> {$preload|join} </div>то есть добавил скрытый контейнер и в нем подгрузку изображений. Попробуйте… Вопросы / Как регулировать порядок загрузки через msGallery? 5 +2 2
Илья Уткин · 03 сентября 2017, 12:35 {$_pls['tv.image'] | phpthumbon : "w=75"} Готовые решения / Использование тегов MODX внутри @INLINE-чанков pdoTools 12 +1 2
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 баг исправлен
Чанк outer для фильтра:
Чанк rows для фильтра:
То есть, тупо не показываю вторую галочку.
Сделал вывод в placeholders и добавил css class «active»
getLanguages
В шаблоне
Содержимое section-langs-1
Содержимое section-langs-2
На уникальность не претендую, но уверен что кому то поможет.
Критика и правки приветствуются.
Причём, писать лучше массивом, потому что сейчас у тебя там JSON с ошибкой:
Тоже самое касается и join — все сниппеты pdoTools давно понимают указание массивов через Fenom.
В значения по умолчанию пишешь стандартный migx-json, типа такого но со своими полями:
Только вместо восьмёрки id нужного чанка. Ну и оформить ссылку уже можно как угодно с помощью стилей.
Можно как костыль использовать такое решение:
1. Включаем автоматическую генерацию псевдонима
2. В плагине проверяем — если псевдоним ресурса такой же, как его сгенерировал бы MODX, заменяем псевдоним:
Но это, конечно, очень грязный хак — ведь где-то автоматически сгенерированный псевдоним будет реально нужен. Нужно ограничивать работу плагина, например, родителем ресурса или его шаблоном.