Дмитрий Кондаков

Дмитрий Кондаков

С нами с 28 февраля 2013; Место в рейтинге пользователей: #234
Владимир
10 января 2017, 19:53
1
0
Использую pthumb + феном, документация одна у них (у pthumb и phpthumbon/phpthumbof), ибо аналоги (но в pthumb есть ресайзер в комплекте отдельным пакетом)
{$_modx->runSnippet('!pthumb', [
      'input' => $_pls['tv.image'],
      'options' => 'w=500&h=260q=60&zc=C',
      'toPlaceholder' => 'thumb'
      ])}
<a href="{$id | url : ['scheme' => 'full']}">
<img src="{$_modx->getPlaceholder('thumb')}" width="{$_modx->getPlaceholder('thumb.width')}" height="{$_modx->getPlaceholder('thumb.height')}" alt="{$pagetitle}" /> </a>
PS если в опциях есть, например, водяной знак, то убирайте опции в
«Наборы параметров» (ваш сйт.админка/?a=element/propertyset )
В вызове снипета добавите runSnippet('!pthumb@namepropertyset', [
Александр Толстенко
09 января 2017, 14:35
1
0
нашел подводный камень. мож кому поможет.
mFilter2 выводил так:
[[!mFilter2@catalogFilter?
	&class=`msProduct`
	&element=`msProducts@listProducts`
	&paginator=`pdoPage@pagination`
	&parents=`[[*id:is=`13`:then=`0`]]`
	&limit=`20`
	&_sort=`ms|price:asc`
	&toPlaceholders=`ms.`
	&innerJoin=`{"Options":{"class":"msProductOption"}}`
	&where=`[[*introtext]]`
	&filters=`ms|price:number`
........ и тд.
ресурсы сразу не выводились т.к. была присоединена таблица с свойствами через innerJoin, заменил на leftJoin, все в порядке стало.
charset
15 декабря 2016, 22:16
1
0
Все, разобрался. Всем спасибо кто откликнулся на мой вопрос.

Вывел через [[!msGetOrder? &tpl=`my.tpl.success`]]
Роман Садоян
19 октября 2016, 21:15
4
0
Ага, понял, в общем вот такой код у меня работает:

switch ($modx->event->name) {

  case 'msOnSubmitOrder':
    $orderData = $order->get();
    $status = $order->ms2->cart->status();
// Здесь я получаю минимальную стоимость из системной настройки
    $mincost = $modx->getOption('ms2_payment_rsb_mincost');
    if(!$mincost){
      $mincost = 3000;
    }
    if($status['total_cost'] < $mincost)
    {
      $message = "Минимальная сумма для подачи заявки равна: ".$mincost;
      $data = array('success' => false, 'message' => $message);
      return $modx->event->output($message);
    }
}
Сейчас уже не вспомню зачем я записываю в $data такой массив.
Но minishop подхватывает это уведомление и выводит ошибку, при этом форма не отправляется.
Fi1osof
10 сентября 2016, 20:27
1
0
Выкатил свежую версию 1.6.0-beta. Пофиксил косяк с установкой и добавил поддержку минишопа (стандартные поля price, old_price, weight, article) выгружаются и обновляются из коробки.
Вообще надо будет добавить возможность в настройках перечислять выгружаемые колонки, но пока не нарыли функцию получения наименования колонки в Экселе по порядковому номеру, но или нароем все-таки, или сами напишем. Пока же наглядный кейс как не сложно добавить в выгрузку дополнительные колонки, включая дополнительные опции товаров:
Добавляем кастомный процессор экспорта: joxi.ru/brRDO4pfQXDZN2
Там переопределяем метод и добавляем несколько строчек:
joxi.ru/KAgK9pXIglDBPA
joxi.ru/LmGVQx0uR6GX0r
Владимир
26 августа 2016, 13:06
1
+2
Use Resizer
phpthumbof.use_resizer — да, включите в системных настойках.
И я бы phpThumbOn поменял на pThumb, но это уже дело вкуса.
PS я вернулся на 2.5.0. но в 2.5.1 со включением ресайзера проблема превьюшек решилась, а вот наложение водяного знака- нет.
Павел Романов
24 июля 2016, 11:20
1
+3
Парсер MODX работает таким образом, что сначала рендерит чанки, TV, сниппеты, в общем, всё, что есть на странице, а только потом выполняет условия и оставляет нужное.
Соответственно, если Вы делаете так:
[[*tv:!empty=`[[$chunk]]`]]
то MODX сначала выполнит все, что в чанке, а только потом решит выводить его на страницу или нет.
В любом случае ресурсы уже потрачены. А если таких условий в шаблоне несколько. то тромоза все более и более ощутимы.

Если же сделать так:
[[$[[*tv:!empty=`chunk`]]]]
то MODX отрендерит просто текст «chunk» и потом, если условие выполнено, оставит его, а тут уже получится тег, который обработается:
[[$chunk]]

В случае невыполнения условия выведется просто
[[$]]

Fenom же работает по-другому. Он изначально рендерит только то, что соответствует условию.
В Вашем случае будет так:
{if $_modx->resource.tags != ''}
    {$_modx->runSnippet('pdoResources', [
    'parents' => 2,
    'limit' => 5,
    'tpl' => 'tplArticleSim'
    ])}
{/if}

Ну или так, если угодно:
{if $_modx->resource.tags != ''}
    {$_modx->getChunk('similarArticles')}
{/if}

Или вообще так ):
{if $_modx->resource.tags != ''}
    [[pdoResources?
    &parents=`2`
    &limit=`5`
    &tpl=`tplArticleSim`
    ]]
{/if}
Максим Кузнецов
29 июня 2016, 16:05
7
+2
'where' => '{
	"id:!=": '~ $_modx->resource.id ~'
}'
Василий Столейков
22 июня 2016, 13:34
3
+1
Для себя на память выложу решение на Fenom чтобы снова не искать так долго:
'where' => '{ "id:IN":['~$comment_childrens~'] }',
Виталий Серый
08 июня 2016, 00:58
7
+3
Можно попробовать обойтись средствами Fenom без getImageList.
{set $rows = json_decode($_modx->resource.tv_product_main_gallery, true)}
{foreach $rows as $row}
    {$row.image}
{/foreach}