Всем привет!
Хочу вывести все товары в переменную и дальше с ней работать. По 6 версии все перерыл, никто похоже не озадачивался)))
Пока что обхожусь костылем - вывожу в HTML страницы, затем через джиквери собираю в массив и сам код HTML удаляю)))
Вот так вывожу в шаблоне:
<?php
if (Core::moduleIsActive('shop'))
{
$Shop_Controller_Show = new Shop_Controller_Show(
Core_Entity::factory('Shop', '3')
);
$Shop_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName('ФильтрВсеТоварыСайт15')
)
->groupsMode('none')
->group(FALSE)
->limit(500);
$Shop_Controller_Show
->shopItems()
->queryBuilder()
->clearOrderBy()
->orderBy('shop_items.shop_group_id');
$Shop_Controller_Show->show();
}
?>
Кусок из XSL:
<xsl:template match="/shop">
<!-- Есть товары -->
<xsl:if test="shop_item">
<!-- Выводим товары магазина -->
<ul class="filter_products">
<xsl:apply-templates select="shop_item"/>
</ul>
</xsl:if>
</xsl:template>
<xsl:template match="shop_item">
<li class="filter_product filter_product_{@id}">
<a class="filter_product_link" href="{url}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
<span class="filter_product_price">
<xsl:value-of disable-output-escaping="yes" select="price"/>
</span>
<span class="filter_product_sceplenie">
<xsl:value-of select="shop_item/property_value[tag_name='sceplenie']/value"/>
</span>
</li>
</xsl:template>
И забираю сформированный код из тела страницы))), это в подключаемом скрипте:
var filter_full = $('.filter_products').remove();
Бред конечно и уже вижу что страница грузится дольше, хотя всего 300 товаров...
1. Какой есть более короткий путь для получения всех товаров?
2. В каждом товаре доп. свойства - одно из них
sceplenie, сейчас они
не выводятся через упомянутый код, как их выводить?