Все-таки не могу разобраться, возможно туплю, как мне сделать следующим образом:
- AMD
- Athlon XP
- 2000 Ghz
- 1000 Ghz
- Athlon 64
- 3000 Ghz
- 2500 Ghz
Это есть дерево документов, AMD - самый верх, потом идут два вложенных в AMD документа Athlon XP и Athlon 64, в рамках этих двух документов идут свои вложенные документы, а именно 2000 Ghz, 1000 Ghz и т.д.
Помещая вызов Ditto в документ AMD и, настроив шаблон вывода, мы при нажатии на ссылку AMD видим Athlon XP и Athlon 64, но не видим вложенные в них документы, потому что уровень ниже, чтобы их увидеть, мы должны прописать вызов Ditto в Athlon XP и Athlon 64.
А хочется сделать так, что нажимая на ссылку AMD я попадаю на страницу где вижу хорошо структурируемый каталог, т.е. позиции Athlon XP и Athlon 64, каждая из которых имеет варианты товара. Сейчас, возможно кто-то скажет, мол используй &descendentDepth=`2` в вызове Ditto, который в документе AMD, да можно, только получится криво и не так как надо. С первой точки зрения проблема решается вложенностью "Ditto в Ditto" в рамках одного документа, т.е. что-то типа:
[!Ditto? &descendentDepth=`1` &tpl=`ditto_каталог`!]
Этот вызов прописывается в документе AMD.
Чанк ditto_каталог имеет приблизительно такой код:
<table>
<tr>
<td><img src="[+tvimage+]" /></td>
<td>
<h2>[+pagetitle+]</h2>[+tvshort+]<p><a href="[~[+id+]~]">Подробнее.</a></p><p>[!Ditto? &descendentDepth=`1` &tpl=`ditto_товары`!]</p>
</td>
</tr>
</table>
Чанк ditto_товары имеет приблизительно такой код:
<tr>
<td>[+pagetitle+]</td>
<td>[+tvprice+] руб.</td>
<td><a href="order2/?mod_id=[+id+]"><img src="img/men/order.gif" border="0" /></a></td>
</tr>
Вся эта конструкция прекрасно работает, все выводится там где надо и по тем шаблонам, которые я указал, все красиво и классно [с точки зрения сниппет в сниппете] (спасибо PHx plugin), НО! Если я явно не буду указывать ID документа во втором Ditto (&startID) с вариантами товара (в данном случае ID документов Athlon XP и/или Athlon 64), то он будет пытаться найти значения TV [+pagetitle+] и [+tvprice+] в документах откуда вызывался перый Ditto, т.е. из документа AMD, ища значения этих TV в документах Athlon XP и Athlon 64, а не в вариантах [2000 Ghz, 1000 Ghz] и есессно ничего не найдет, а если и найдет, то тока [+pagetitle+] и в качестве названия варианта напишет Athlon XP и Athlon 64, а не требуемые 2000 Ghz и 1000 Ghz...
Отсюда вопрос, как реализовать задуманное, при этом не указывая стартовый ID документа, который будет выводить варианты товара?
ЗЫ: Знаю, объяснил наверно хреново, но может кто-то поймет и поможет.