Добавить порядковый номер доп свойствам

#
Добавить порядковый номер доп свойствам
Добрый день.
Подскажите пожалуйста, как в xml добавить к данным доп свойств еще их порядковый номер в админке который указан, сейчас выводится так:

<property_value id="115">
               <property_id>69</property_id>
               <entity_id>176</entity_id>
               <value>Погонный метр</value>
               <property_dir_id>0</property_dir_id>
               <tag_name>size</tag_name>
            </property_value>

а сделать, что бы было, например, так:

<property_value id="115">
<sorting>порядковый номер как в админке указано</sorting>
               <property_id>69</property_id>
               <entity_id>176</entity_id>
               <value>Погонный метр</value>
               <property_dir_id>0</property_dir_id>
               <tag_name>size</tag_name>
            </property_value>


Нужна такая доработка, что бы на сайте доп свойства выводились в нужном, указанном порядке, а не как попало, решение из темы: http://www.hostcms.ru/forums/2/8818/ - помогает только в карточке товара, а в списке товаров не применимо.

сортировать будет при помощи xslt
<xsl:sort select="sorting" order="ascending"/>
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
#
Re: Добавить порядковый номер доп свойствам
или может проще есть решение, например:
<xsl:apply-templates select="property_value[property_dir_id=1]" mode="techgoods">
<xsl:sort select="/shop/shop_item_properties//property[@id=$property_id]/sorting" order="ascending"/>
   </xsl:apply-templates>


/shop/shop_item_properties//property[@id=$property_id]/sorting - понимаю что не правильно, но может подскажите как правильно такое замутить
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
Модератор
#
Re: Добавить порядковый номер доп свойствам
property_value - это не свойство, а значение и у него нет сортировки.
см. варианты http://www.hostcms.ru/documentation/modules/properties/xsl/
#
Re: Добавить порядковый номер доп свойствам
HostCMS писал(а):
property_value - это не свойство, а значение и у него нет сортировки.
см. варианты http://www.hostcms.ru/documentation/modules/properties/xsl/

спасибо за информацию, третий вариант, как раз, то что нужно:

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>


это стандартный код вывода доп свойств товара с указанием направления сортировки и поля по которому сортировать.
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
#
Re: Добавить порядковый номер доп свойствам
А подскажите до конца пожалуйста, собственно столкнулся с тем, что у меня доп свойства разные и у них поле сортировка не добавилось, типа список, значение с плавающей запятой, какой код еще прописать надо:

Core_Event::attach('property_value_string.onBeforeGetXml', array('Property_Value_Observer', 'onBeforeGetXml'));
   Core_Event::attach('property_value_int.onBeforeGetXml', array('Property_Value_Observer', 'onBeforeGetXml'));  
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
#
Re: Добавить порядковый номер доп свойствам
Core_Event::attach('property_value_int.onBeforeGetXml', array('Property_Value_Observer', 'onBeforeGetXml');  - должно работать и для списка
Core_Event::attach('property_value_float.onBeforeGetXml', array('Property_Value_Observer', 'onBeforeGetXml');  - для свойств с плавающей запятой
«Не выходи из комнаты, не совершай ошибку…»
Авторизация