HostCMS писал(а):
спасибо за информацию, третий вариант, как раз, то что нужно:
if (!$Shop_Controller_Show->item)
{
class Property_Value_Observer
{
static public function onBeforeGetXml($object, $args)
{
$object->addXmlTag('sorting', $object->Property->sorting);
}
}
Core_Event::attach('property_value_string.onBeforeGetXml', array('Property_Value_Observer', 'onBeforeGetXml'));
Core_Event::attach('property_value_int.onBeforeGetXml', array('Property_Value_Observer', 'onBeforeGetXml'));
}
добавляет в xml вывода доп свойство поле sorting и можно по нему сортировать, может кому пригодится:
Сортировка дополнительных свойств по порядковому номеру указанному в админке:
в ТДС магазина добавляем:
class Property_Value_Observer
{
static public function onBeforeGetXml($object, $args)
{
$object->addXmlTag('sorting', $object->Property->sorting);
}
}
Core_Event::attach('property_value_string.onBeforeGetXml', array('Property_Value_Observer', 'onBeforeGetXml'));
Core_Event::attach('property_value_int.onBeforeGetXml', array('Property_Value_Observer', 'onBeforeGetXml'));
перед (это код в самом низу):
$Shop_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName($xslName)
)
// Выводить свойства товаров
->itemsProperties(TRUE)
// Выводить специальные цены
->specialprices(TRUE)
// Выводить модификации на уровне с товаром
//->modificationsList(TRUE)
// Режим вывода групп
//->groupsMode('none')
// Выводить доп. св-ва групп
->groupsProperties(TRUE)
// Фильтровать по ярлыкам
//->filterShortcuts(TRUE)
->show();
а потом в xsl шаблонах списка товаров и товара, там где выводятся доп свойства прописываем следующий код:
<xsl:apply-templates select="property_value">
<xsl:sort select="sorting" order="ascending"/>
</xsl:apply-templates>
это стандартный код вывода доп свойств товара с указанием направления сортировки и поля по которому сортировать.