2013-03-29 2 views
1

Я пытаюсь использовать getResources, чтобы создать основную навигацию для моего сайта. Как сообщить getResources для начала в текущем контексте и посмотреть все ресурсы сразу в текущем контексте?getResources для создания меню верхнего уровня

Я вижу, что могу указать следующие параметры;

  1. родители
  2. ресурсы

Я поставил родителей 0 и что не работает. Я не знаю ресурс id для контекста, поэтому я не могу указать его для параметра ресурсов.

Могу ли я делать то, что хочу, с getResources? Что мне не хватает?

ответ

1

Построить навигацию по http://rtfm.modx.com/display/ADDON/Wayfinder У него есть параметры для работы с контекстами.

+0

+1 Wayfinder специально разработан для навигации по сайту – okyanet

+0

Это не ответ на этот вопрос. Вы должны упомянуть о Wayfinder как предложение. – jacqbus

+0

@jacqbus лучше узнать что-то о modx, прежде чем что-то посоветовать. – Vasis

0

Использование & контекста из документов на сайте rtfm.modx.com «В каком контексте следует искать. По умолчанию используется текущий контекст».

так что ваш минимальный GetResources вызов, вероятно, выглядит примерно так:

[[getResources? &parents=0 &tpl=menuTpl ]] 

Вам не нужно указывать контекст, а также, GetResources очень ресурсов сервера интенсивной, если у вас нет особых причин не делать этого, как предложил Васис.

0

Я знаю, что немного поздно, но я только что придумал это, проверено и работает над Revo 2.2.10.

Способ, которым вы указываете, что getResources для начала в текущем контексте устанавливает родительский элемент в идентификатор текущего документа.

Это пойти бы в шаблоне:

<ul> 
    [[getResources? &parents=`0` &depth=`0` &limit=`0` &sortby=`menuindex` &sortdir=`ASC` &tpl=`tpl_Navigation`]] 
</ul> 

, а затем в Chunk используется в качестве шаблона для GetResources (tpl_Navigation):

<li> 
    <a href="[[~[[+id]]]]">[[+menutitle:default=`[[+pagetitle]]`]]</a> 

    [[getResources? &parents=`[[+id]]` &depth=`0` &totalVar=`numChildren[[+id]]` &limit=`0` &tpl=`tpl_Navigation` &sortby=`menuindex` &sortdir=`ASC` &toPlaceholder=`children[[+id]]`]] 

    [[+numChildren[[+id]]:gt=`0`:then=`<ul>[[+children[[+id]]]]</ul>`:else=``]] 
</li> 
0

Если вы хотите использовать getResource для создания меню из в верхней части текущего контекста, вам необходимо добавить параметры &depth=`0` &context=`[[*context_key]]`.

Но для простого создания меню в modx я предлагаю вам использовать Wayfinder плагин insted getResource.