Павел Романов

Павел Романов

С нами с 03 марта 2014; Место в рейтинге пользователей: #43
21 ноября 2017, 20:10
0
Параметр фильтрации:
[[pdoResources?
&tvFilters=`tvname==%Хирург%`
...
]]

Как вставлять в вызов слово «Хирург» зависит от реализации каталога. Если есть страница с таким pagetitle, то на ней так:
&tvFilters=`tvname==%[[*pagetitle]]%`

Если через GET-запрос (page.html?doctor=Хирург), то так:
&tvFilters=`tvname==%[[!#GET.doctor]]%`

В Collections есть кнопка «Открыть», которая открывает следующий уровень (если речь об этом):
21 ноября 2017, 11:10
1
+1
Э… Вам же тут ответили ))

Давайте еще разок.
Допустим, нужно вывести новости. В контексте ru родитель новостей имеет ID 6, в en — 15, в de — 32
Жмете правой кнопкой по контексту ru и выбираете «Редактировать». Открываете вкладку «Настройки контекста». Создаете там параметр page_news со значением 6.
В английском создаете такой же параметр со значением 15, в немецком — с 32.
Теперь, если вы пропишете где-нибудь в шаблоне [[++page_news]] или (на Fenom) {$_modx->config.page_news} на фронте в зависимости от контекста будет выводиться 6, 15 или 32.

Ну а дальше — дело техники:
[[pdoResources?
	&parents=`[[++page_news]]`
	&depth=`1`
	&hideContainers=`1`
	&resources=`-27,-28`
	&showUnpublished=`1`
	&includeContent=`1`
	&includeTVs=`imageTpl,dateAwards`
	&tvPrefix=``
	&sortby=`{"menuindex":"asc"}`
	&tpl=`ItemAwardsModal`
]]

Или на Fenom:
{'pdoResources' | snippet : [
	'parents' => $_modx->config.page_news,
	'depth' => 1,
	'hideContainers' => 1,
	'resources' => '-27,-28',
	'showUnpublished' => 1,
	'includeContent' => 1,
	'includeTVs' => 'imageTpl,dateAwards',
	'tvPrefix' => '',
	'sortby' => '{"menuindex":"asc"}',
	'tpl' => 'ItemAwardsModal',
]}
16 ноября 2017, 11:31
+1
Выше решение ))
Там без подобных условий:
{if $_modx->context.key == 'eng'}
...
{/if}

Значения подтягиваются автоматом из настроек конкретного контекста.
Я там только в начале опечатался, сорри. Должно быть так:
{var $news = $_modx->config.pg_news}
<div class="content__item content__item2">
    <a href="{$_modx->makeUrl($news)}" class="content__heading content__heading--2">{'gg_invest' | lexicon}</a>
	<a href="{$_modx->makeUrl($news)}" class="content__heading-a">
		<p>{$news | resource : 'introtext'}</p>
	</a>
	<span class="content__more2"> {'gg_more' | lexicon}</span>
	<a href="{$_modx->makeUrl($news)}" class="content__more"> {'gg_more' | lexicon}</a>
</div>
15 ноября 2017, 18:00
+1
Сделайте у контекстов настройки, куда прописывайте ID соответствующего раздела у данного контекста:
pg_catalog = 2
pg_news = 4
и т. д.
Тогда можно будет сделать так:
{var news = $_modx->config.pg_news}
<div class="content__item content__item2">
    <a href="{$_modx->makeUrl($news)}" class="content__heading content__heading--2">{'gg_invest' | lexicon}</a>
	<a href="{$_modx->makeUrl($news)}" class="content__heading-a">
		<p>{$news | resource : 'introtext'}</p>
	</a>
	<span class="content__more2"> {'gg_more' | lexicon}</span>
	<a href="{$_modx->makeUrl($news)}" class="content__more"> {'gg_more' | lexicon}</a>
</div>
01 ноября 2017, 23:51
+1
Можно попробовать через VirtualPage или сделать плагин с использованием sendForward, что позволяет открывать нужную страницу, не изменяя URL и даже с сохранением полей.
26 октября 2017, 18:46
+1
Скорее всего страница корзины снята с публикации.
23 октября 2017, 12:05
+1
Указываете прямо во «вкладках формы»:
"fields":[
        {
          "field":"image",
          "caption":"Изображение",
          "inputTVtype":"image",
          "sources":[
            {
              "context":"web",
              "sourceid":2
            }
          ]
        }
.........

Или через конфигурацию:
20 октября 2017, 20:45
+1
Если дело только в классе, то помечать и в pdoResources без проблем. И menutite выводить тоже:
<a href="[[+uri]]" class="[[*id:is=`[[+id]]`:then=`active`]][[*parent:is=`[[+id]]`:then=`active`]]">
	[[+menutitle:default=`[[+pagetitle]]`]]
</a>

А через pdoField можно вообще всю цепочку пометить )).

Вы бы всю задачу подробнее описали — может, действительно проще будет собственным сниппетом сделать, чем пытаться плясать вокруг pdoMenu.

PS
Кстати, про MIGX Вы зря. Если нужно сделать меню, абсолютно не привязанное к дереву, с произвольными анкорами, порядком, индивидуальным видом пунктов, настраиваемым выводом подменю, да при этом еще и легко управляемое из админки, то MIGX — именно то, что нужно.
20 октября 2017, 20:01
0
Если Вам нужно меню с определенными ресурсами, почему именно на pdoMenu свет клином сошелся?
Можно вообще на MIGX сделать и добавлять, что угодно и в каком угодно порядке )).
20 октября 2017, 19:52
0
Сделайте pdoResources:



Результат:
20 октября 2017, 19:37
0
Проверил у себя — все пашет.
Структура и вызов:


Результат:

20 октября 2017, 19:17
0
Вот так попробуйте:
[[pdoMenu?
	&level=`0`
	&parents=`0`
	&resources=`12,5,2,9,1`
	&includeTVs=`my_sort_menu`
	&sortby=`ids`
]]
20 октября 2017, 18:20
0
Сделайте у ресурсов TV, где указывайте нужный порядок и сортируйте по нему.
19 октября 2017, 20:21
0
Сделайте просто выпадающий список:
2000==2000||2001==2001||2002==2002||2003==2003||2004==2004||2005==2005
и так далее.
18 октября 2017, 20:09
+1
А если без:
$res->save();

Оно, на самом деле при сохранении TV не нужно.
17 октября 2017, 14:56
+1
Значит у Вас у менеджера есть доступ к установке пакетов.
Либо отключите, либо напишите вместо packages, Administrator.
17 октября 2017, 12:33
+3
В настройках -> Меню у всех пунктов кроме Gallery, пропишите привилегию:
06 октября 2017, 16:21
0
Может, не совсем понял задачу, но если container_suffix не трогать, а у HTML в типах содержимого .html заменить на /, то все как раз и будет со слешем на конце, разве нет?
05 октября 2017, 13:11
0
Может у Вас плагин какой стоит, который слеши режет?
05 октября 2017, 12:46
0
Можете заменить:
<img src="[[+image:replace=`/./==/`]]" alt="[[+pagetitle]]"/>