Максим Кузнецов

Максим Кузнецов

С нами с 01 июля 2013; Место в рейтинге пользователей: #27
Максим Кузнецов
27 марта 2017, 23:30
+3
То, что прописал Михал — оформление для шаблонизатора Fenom, идущего в комплекте с pdoTools. Все чанки сниппетов pdoTools, соответственно, по-умолчанию его понимают, а шаблоны сайта — нет (для этого нужно включить соответствующую системную настройку).

Если вы не хотите пользоваться/включать Fenom в шаблоне страницы, вы можете решить вашу задачу таким способом:
[[*dostavka_tv_name:is=`Доставка есть`:then=`[[$chunk_name]]`]]
Максим Кузнецов
27 марта 2017, 08:09
+1
Скорее всего, данный параметр со временем был вынесен в системную настройку.

К слову, вы можете попробовать добавить свой модификатор в рамках того же фенома:

1. Создаете плагин на системное событие pdoToolsOnFenomInit:
<?php
	if ($modx->event->name == 'pdoToolsOnFenomInit') {
		$fenom->addModifier('priceFormatter', function ($input) {
			$clear_price = str_replace(" ", "", strstr($input, ' руб', true));

			return $clear_price;
		})
	}

2. В чанке применяете его к нужной переменной:
{$priceStore | priceFormatter}
Максим Кузнецов
27 марта 2017, 08:04
+1
Если у вас код вызова сниппета именно такой, как в теме вопроса, попробуйте, все же, дописать к вызову:
&tvPrefix=``
Максим Кузнецов
27 марта 2017, 07:59
0
Дело в том, что я не могу найти данный параметр ни в документации, ни в наборе параметров. Разве что на гитхабе есть строка:
$this->config['useFenom'] = $this->modx->getOption('pdotools_fenom_default', null, true);
— отсылающая к системной настройке. Не подскажете, где можно почитать об этом параметре в рамках сниппетов pdo?

Что же до prepareSnippet, логика довольно проста:

1. создаете сниппет, допустим, priceFormatter, примерно с таким содержанием:
$row['priceStore'] = str_replace(" ", "", strstr($row['priceStore'], ' руб', true));
return serialize($row);

2. Указываете свежесозданный сниппет в параметре prepareSnippet.
Максим Кузнецов
27 марта 2017, 06:13
0
1. В данном вызове pdoResources, плейсхолдер выглядит как [[+tv.priceStore]] (&tvPrefix=``)

2. Возможно, нужно вызвать функцию таким способом:
{set $priceStore = str_replace(" ", "", strstr($priceStore, ' руб', true))}
{$priceStore}

3. что за параметр useFenom у сниппета pdoResources?

4. для решения данной задачи вы можете воспользоваться параметром prepareSnippet
Максим Кузнецов
26 марта 2017, 22:35
0
Добрый вечер. Могу реализовать.
Отпишите, пожалуйста, на почту по функционалу/макету, чтобы можно было оценить задачу.
Максим Кузнецов
26 марта 2017, 18:55
+3
Не пользовался данным приложением, но единственное, что приходит на ум — разные значения появляются из-за добавления длины названия сайта.
(16 символов = MODX REVOLUTION + пробел)
Максим Кузнецов
26 марта 2017, 13:25
+3
Выгружать локальные пакеты + файловые чанки с fenom'a как правило хранятся в core.
Максим Кузнецов
25 марта 2017, 19:58
1
+1
[[+address.receiver]] — Покупатель
[[+address.phone]] — Телефон
[[+user.email]] — Почта
[[+address.index]] — Индекс
[[+address.region]] — Область
[[+address.city]] — Город
[[+address.street]] — Улица
[[+address.building]] — Дом
[[+address.room]] — Квартира
[[+delivery.name]] — Способ доставки
[[+payment.name]] — Тип оплаты
[[+address.comment]] — Комментрарий
Максим Кузнецов
25 марта 2017, 17:56
+2
Еще один полезный хинт: при создании тикета можно указать ему соответствующий теме раздел.)
Максим Кузнецов
25 марта 2017, 16:38
+2
Сможет, нужно расширять класс фильтрации. За основу можно взять фильтр по tv-полям, дополнительно разбив в getTVValue получаемые значения примерно таким способом:
//здесь же дополнительно можно избавиться от лишних значений, как MIGX_ID
$tmp = json_decode($row['value']);
Максим Кузнецов
25 марта 2017, 15:23
+5
Делаю нечто похожее greentail.ru/portfolio/ (в разработке), с модификацией только js-составляющей mFilter2.
Если интересно — могу расписать подробнее, как достичь такой анимации.
Максим Кузнецов
25 марта 2017, 13:45
+2
Приведите ссылки из состояния:
href="#m1"

К абсолютным написаниям:
href="http://nikandlc.beget.tech/справочник/введение#m1"

примерно таким способом:
<a href="#" data-target="[[~[[*id]]? &scheme=`full`]]#m[[+idx]]">[[+menutitle]]</a>
Максим Кузнецов
25 марта 2017, 13:42
+1
Тоже вначале написал этот вариант, но с pdoMenu без ухищрений не получится разделить родителей и потомков по разным контейнерам => не получится удобно сгруппировать переключатели табов.
Хотя, конечно, можно повставлять их по плейсхолдерам, но это уже отдает извращением.
Максим Кузнецов
25 марта 2017, 11:39
+2
upd: забыл добавить проверку на пустоту $user_articles:
{set $user_articles = $migx_tv[$_modx->user.id]  ?: -1}
Максим Кузнецов
25 марта 2017, 11:33
0
stackoverflow.com/questions/1889076/is-it-recommended-to-use-the-base-html-tag#answer-1889898

Скорее просто нужно понимание того, для чего и в каких ситуациях он необходим..)