addEntity() как передать id в XML

#
addEntity() как передать id в XML
Не смог найти на форуме и в документации!
добавляем в XML свои данные
$Shop_Controller_Show->addEntity(
               $oParams_array = Core::factory('Core_Xml_Entity'->name('My_tag_name'
         );
в XML это выглядит как <My_tag_name></My_tag_name>
а я хочу добавить этот таг с id <My_tag_name id="12312"></My_tag_name>
как это сделать?
$Shop_Controller_Show->addEntity(
               $oParams_array = Core::factory('Core_Xml_Entity'->name('My_tag_name id=" '.$id.' " ' // так не работает!!!
         );
#
Re: addEntity() как передать id в XML
http://www.hostcms.ru/forums/2/7584/
->addAttribute('id', 1)
#
Re: addEntity() как передать id в XML
спасибо
#
Re: addEntity() как передать id в XML
еще вопрос!
я передаю в XML
<shop id="3">
        <property_tag id="128">
      <id>128</id>
      <property_id>125</property_id>
      <entity_id>164</entity_id>
      <value>0</value>
   </property_tag>
   <property_tag id="129">
      <id>129</id>
      <property_id>125</property_id>
      <entity_id>165</entity_id>
      <value>0</value>
   </property_tag>
   <property_tag id="130">
      <id>130</id>
      <property_id>125</property_id>
      <entity_id>166</entity_id>
      <value>0</value>
   </property_tag>
   <property_tag id="121">
      <id>121</id>
      <property_id>125</property_id>
      <entity_id>167</entity_id>
      <value>42</value>
   </property_tag>

как мне в XSL получить значение value в виде списка?
я делаю так
<xsl:variable name="property" select="/shop/property_tag"/>
                        <xsl:for-each select="/shop/property_tag">
                            <option value="{$property/value}">
                                <xsl:value-of disable-output-escaping="yes" select="$property/value"/>
                            </option>
                        </xsl:for-each>
но там оказываются много значений только первого property_tag
   
#
Re: addEntity() как передать id в XML
получилось!!!
<!-- Отображаем список -->
                <xsl:when test="filter = 2">
                    <select class="form-control" name="property_{@id}">
                        <option value="0">...</option>
                        <xsl:variable name="property" select="/shop/property_tag"/>
                        <xsl:for-each select="$property">
                            <option value="{value}">
                                <xsl:value-of disable-output-escaping="yes" select="value"/>
                            </option>
                        </xsl:for-each>
                    </select>
                </xsl:when>

есть еще вопрос! хотел сделать так -
<!-- Отображаем список -->
                <xsl:when test="filter = 2">
                    <select class="form-control" name="property_{@id}">
                        <option value="0">...</option>                
                      <xsl:apply-templates select="property_tag"/>
                    </select>
                </xsl:when>
<xsl:template match="property_tag">
        <xsl:variable name="property" select="/shop/property_tag"/>
        <xsl:for-each select="$property">
            <option value="{value}">
                <xsl:value-of disable-output-escaping="yes" select="value"/>
            </option>
        </xsl:for-each>
    </xsl:template>

не работает! только первый вариант! почему?
Модератор
#
Re: addEntity() как передать id в XML
Второй вариант у вас уж очень странный и нелогичный.
<!-- Отображаем список -->
<xsl:when test="filter = 2">
   <select class="form-control" name="property_{@id}">
      <option value="0">...</option>                
      <xsl:apply-templates select="/shop/property_tag"/>
   </select>
</xsl:when>

<xsl:template match="property_tag">
   <option value="{value}">
      <xsl:value-of disable-output-escaping="yes" select="value"/>
   </option>
</xsl:template>
#
Re: addEntity() как передать id в XML
понимание не пришло, но за пример спасибо!
особенно не понятно почему во втором варианте нет цикла, и почему ссылаемся на темплайт так select="/shop/property_tag", а сам темплейт называем match="property_tag"
Модератор
#
Re: addEntity() как передать id в XML
<xsl:apply-templates select="...."/> и есть цикл, вы говорите применить шаблон к такому то набору узлов (перебрать их все и для каждого вызвать шаблон).
Элементы у вас называются property_tag, поэтому и шаблон property_tag, путь в данном случае не имеет значения.
#
Re: addEntity() как передать id в XML
Спасибо, и последний вопрос!
Мой первый вариант то же имеет права на существования? или лучше так не делать? и почему?
Модератор
#
Re: addEntity() как передать id в XML
имеет, вопрос вкуса и удобства.
неясно, зачем вы создаете переменную, можно без нее:
                        <xsl:for-each select="/shop/property_tag">
                            <option value="{value}">
                                <xsl:value-of disable-output-escaping="yes" select="value"/>
                            </option>
                        </xsl:for-each>
Авторизация