Всего 125 983 комментария

Сергей Шлоков
17 января 2022, 06:46
+1
Ну тут он будет полезен новичкам, или если нашёл где то решение в интернете или в документации, а там родной синтаксис, быстро его перевёл.
Хотел бы я посмотреть на такого новичка. Уверен, такого не найдётся.

Ещё раз повторю — феном имеет смысл использовать только ради его функциональных возможностей. Простая смена синтаксиса вызовов чанка или сниппета не только лишние затраты по времени, но и негативно сказывается на производительности сайта.
Сергей
16 января 2022, 21:56
0
Добрый день.
Не подскажете, как сделать вывод изображений в RSS, добавленных в статьи через плейсхолдеры [[+ms2g.1]], [[+ms2g.2]]..?
Чанк:
[[!pdoResources?
	&parents=`11`
	&class=`modResource`
	&loadModels=`ms2gallery`
	&tpl=`test4567.tpl`
	&leftJoin=`{
		"Image": {
			"class": "msResourceFile",
			"on": "modResource.id = Image.resource_id AND Image.parent = 0 AND Image.rank = 0"
		},
		"Thumb": {
			"class": "msResourceFile",
			"on": "Image.id = Thumb.parent AND Thumb.path LIKE '%big%'"
		}
	}`
	&select=`{
		"modResource": "*",
		"Image": "Image.url as image",
		"Thumb": "Thumb.url as big"
	}`
	&showLog=`1`
	&limit=`0`
	&groupby=`modResource.id`
]]
В итоге:
— Если вызвать без шаблона, то изображения в статье будут выглядеть так:
[[+ms2g.1]]
[[+ms2g.2]]
— Если добавить изображения в ресурс RSS (во вкладке Галерея), то они будут выводиться во всех статьях.
А нужны изображения статей.
Сергей Карпович
16 января 2022, 21:52
0
Всем привет, не могу подружить с MiniShop.
Добавил properties в ms2_order_address_fields.
Добавил в msOrder {$_modx->runSnippet('!utmMark')}.
На странице оформления заказа в форме вижу метки, но в админке в заказе поля properties не появляются.

Подскажите, куда смотреть?
Miša Bulic
16 января 2022, 20:59
0
Ну тут он будет полезен новичкам, или если нашёл где то решение в интернете или в документации, а там родной синтаксис, быстро его перевёл.

У Fenom больше возможностей. Например, в параметрах можно указать число, массив, сделать конкатенацию. Также различные управляющие конструкции. Этого нет в MODX синтаксисе.
Ну тут всё таки односторонний конвертер из стандартного в феном, так что это не проблема
Vladimir
16 января 2022, 19:56
0
Снипет сделал таким
<?php
if(!$dt){
    $dt = date('Y', strtotime(date('Y-m-d')));
    $dt = "$dt-1-1";
} else {
    $dt = "$dt-1-1";
}

if($next == '1'){
    $dt = date("Y-m-d",strtotime ( '+1 year' , strtotime ( $dt ) )) ;
}
return strtotime($dt);
Вызов такой как писал выше Артур
{"publishedon:>=": [[!timestampToUnixTime? &dt=`[[!#GET.news-year]]` &next=`0`]], "AND:publishedon:<=": [[!timestampToUnixTime? &dt=`[[!#GET.news-year]]` &next=`1`]]}
В целом засунул это в плагин и по хэшу сортирую без перезагрузке страницы через pdopage.
Как сделал через плагин и pdopage и без перезагрузке вот ссылка на пасте бин там код pastebin.com/AuA5Rrt6
Andrew
16 января 2022, 18:59
0
Идея была, чтоб при необходимости можно было новичкам в чате ссыль давать.)
Сразу в одном месте, все по теме)

Про цвет, это так))
Vladimir
16 января 2022, 16:10
0
сменил company на другое слово заработало
Николай Савин
16 января 2022, 16:10
-1
Это не мой код, это Ваш код.
Я лишь подсказал как его на феном переписать. Мелкие нюансы
Vladimir
16 января 2022, 15:53
0
Заработало НО, может быть я туплю, но всего есть 3 ресурса, ваш код сортирует только по названию «industry», по названию «company» вообще не сортирует, но стоит поставить, 2 ресурса(И ПРИЭТОМ поле должно быть типом тэг) одного значения всё сортирует. Или если будет 2 новости company и 1 новость industry он будет сортировать и выводить только industry. Если поставлю два ресурса industry то оно выводит два ресурса industry а company игнорирует, со стандартным шаблонизатором таких проблем нет.
{'!pdoPage' | snippet : [
   'parents' => $_modx->resource.id,
   'showHidden' => 1,
   'limit' => 8,
   'depth' => 1,
   'level' => 1,
   'showLog' => 1,
   'ajaxMode' => 'default',
   'sortby' => ['parent' => 'ASC', 'menuindex' => 'ASC'],
   'includeTVs' => 'img,newsType',
   'templates' => '7',
   'where' => ['newsType:LIKE' => '%' ~ $.get['sortNewsType'] ~ '%'],
   'tpl' => 'newsTpl'
]}
Николай Савин
16 января 2022, 15:21
+1
Вы здесь наткнулись сразу на две проблемы

В этой строке не нужны фигурные скобки, запускающие феном, так как вы и так внутри феном конструкции
'where' => ['news-type:LIKE' => '%{$.get.news-type}%'],

Но если убрать фигурные скобки — то тоже ничего хорошего не получится
'where' => ['news-type:LIKE' => '%$.get.news-type%'],

Здесь уже другая проблема — нельзя писать феном конструкции внутри кавычек.
Здесь нужно соединить строки с % и get конструкцию через конкатенацию
Вот так
'where' => ['news-type:LIKE' => '%' ~ $.get.news-type ~ '%'],
И тут еще третья проблема, связанная с правилами именования переменных. Проблема с дефисом. В PHP нельзя использовать дефис в именах переменных. А вот в массиве ($.get это ведь массив) можно.
Пожалуй вот такая конструкция должна отработать корректно

'where' => ['news-type:LIKE' => '%' ~ $.get['news-type'] ~ '%'],
Vladimir
16 января 2022, 15:16
0
Сколько не пытался использовать вот это не работало
$_modx->resource.id
поэтому поставил [[*id]], вот эта запись выдаёт белую страницу
'where' => ['news-type:LIKE' => '%{$.get.news-type}%'],
Николай Савин
16 января 2022, 15:01
0
Проблема не в fenom.
Если уж начали переводить вызов сниппета на другой синтаксис — то очень желательно делать это полностью.
Избавляйтесь от JSON строк внутри, от вложенных MODX тэгов
Примерно вот так должна выглядеть ваша конструкция
{'!pdoPage' | snippet : [
   'parents' => $_modx->resource.id,
   'showHidden' => 1,
   'limit' => 8,
   'depth' => 1,
   'level' => 1,
   'showLog' => 1,
   'ajaxMode' => 'default',
   'sortby' => ['parent' => 'ASC', 'menuindex' => 'ASC'],
   'includeTVs' => 'img,news-type',
   'templates' => '7',
   'where' => ['news-type:LIKE' => '%industry%'],
   'tpl' => 'newsTpl',
]}
Я не проверял — но это корректная запись — это как минимум первый шаг к нормальной работе кода.

Вот такая конструкция пишется вот так
[[!#GET.news-type]]
{$.get.news-type}
И это выстрел себе в ногу — нельзя использовать нефильтрованные параметры в SQL запросах. Это прямая дорога к SQL инъекциям.
Futuris
16 января 2022, 14:52
0
В настоящее время импорт остатков с компонентом msImportExport происходит по ID товара. А возможно ли настроить ваш копонент таким образом, чтобы msImportExport в режиме «Импорт msProductRemains» импортировал остатки по Артикулу?

Vladimir
16 января 2022, 14:49
0
Довольно странно проблема была в fenom сменил на стандартный шаблонизатор, и всё заработало, пздц потратил 4 дня(
[[!pdoPage:default=`<h1>Ничего не найдено.</h1>`?
  &parents=`[[*id]]`
  &limit=`8`
  &depth=`1`
  &ajaxMode=`default`
  &tpl=`newsTpl`
  &pageLimit=`7`
  &sortby=`{ "parent":"ASC", "menuindex":"ASC" }`
  &where=`{ [[!WhereGen? &tv=`news-type` &sign=`LIKE` &get=`sort-type` &value=``]] }`
  &includeTVs=`img,news-type`
  &ajaxElemWrapper=`#pdopage`
   &ajaxElemRows=`#pdopage .rows`
  &ajaxElemPagination=`#pdopage .pagination`
  &ajaxElemLink=`#pdopage .pagination a`
 ]]
Vladimir
16 января 2022, 09:43
0
Допустим снипет просто формирует where запись без get и всё равно не работает
Сергей Шлоков
16 января 2022, 08:28
0
По-моему, просто достаточно примера как перевести теги чанка, сниппета и плейсхолдера из MODX формата в Fenom. Что-то типа cheat sheet. Ибо данный вариант сервиса способен переводить только простые конструкции.

У Fenom больше возможностей. Например, в параметрах можно указать число, массив, сделать конкатенацию. Также различные управляющие конструкции. Этого нет в MODX синтаксисе.

А банальный перевод тега на Fenom (просто чтоб было) ничего не даёт. Даже хуже — MODX теги работают лучше и меньше нагружают парсер.
Алексей Соин
15 января 2022, 19:32
+1
Как мне кажется, переполнять моносервис множеством доп функционала не очень хорошая идея, тем кому данный сервис нужен и так знают, где доки находятся, а ссылку на доку я добавил пока только при наличии в теге модификаторов и набором свойств.

Чем так цвет фона душу раздерает?) Мне в дизайне всё нравится))
Сергей Шлоков
15 января 2022, 19:12
0
Ничего не могу сказать. Я первым делом тестирую на своем сайте. Обновилось без проблем.