Добрый день. Пытаюсь сделать следующее: чтобы под основным (верхним) меню сайта выводился список групп интернет-магазина с картинками. Ниже привожу последовательность своих действий (что сделал) и собственно что получилось (т.е. не получилось):
1. При установке системе выбран шаблон "Основной".
2. В "Макеты/Основной макет" в "<div class="left_block slide_block"> <div class="data">" добавлен код:
<?php
// Разделы магазина
if (Core::moduleIsActive('shop'))
{
$Shop_Controller_Show = new Shop_Controller_Show(
Core_Entity::factory('Shop', 1)
);
$Shop_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName('МагазинГруппыТоваровНаГлавнойПодМеню')
)
->groupsMode('tree')
//->itemsForbiddenTags(array('text'))
->group(0)
->limit(0)
->show();
} ?>
3. Скопирован стандартный xsl-шаблон 'МагазинГруппыТоваровНаГлавной' и переименован в 'МагазинГруппыТоваровНаГлавнойПодМеню'.
4. В xsl-шаблоне 'МагазинГруппыТоваровНаГлавнойПодМеню' код:
<!-- Шаблон для групп товара -->
<xsl:template match="shop_group">
<li>
<a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
<!-- Если есть подгруппы -->
<!-- <xsl:if test="shop_group">
<ul class="left_menu gray_link gray" id="{@id}" style="display: none;">
<xsl:apply-templates select="shop_group"/>
</ul>
</xsl:if> -->
</li>
</xsl:template>
заменяю на следующий код:
<xsl:template match="shop_group">
<ul>
<xsl:for-each select=". | following-sibling::shop_group[position() < $n]">
<li>
<xsl:if test="image_small!=''">
<a href="{url}" target="_blank">
<img src="{dir}{image_small}" align="middle"/>
</a><xsl:text> </xsl:text></xsl:if>
<a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of disable-output-escaping="yes" select="name"/></a><xsl:text> </xsl:text><span class="shop_count"><xsl:value-of select="items_total_count"/></span>
</li>
</xsl:for-each>
</ul>
</xsl:template>
5. В итоге получаю ошибки:
Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: runtime error: file .../public_html/ line 25 element for-each в файле .../public_html/modules/xsl/processor/xslt.php (строка 47)
Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: Variable 'n' has not been declared. в файле .../public_html/modules/xsl/processor/xslt.php (строка 47)
Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: xmlXPathCompiledEval: 3 objects left on the stack. в файле .../public_html/modules/xsl/processor/xslt.php (строка 47)
Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: runtime error: file .../public_html/ line 25 element for-each в файле .../public_html/modules/xsl/processor/xslt.php (строка 47)
Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: Failed to evaluate the 'select' expression. в файле .../public_html/modules/xsl/processor/xslt.php (строка 47)
Подскажите, пожалуйста, что же я пропустил ?