Jump to content

Recommended Posts

Друзья, выручайте пожалуйста. Делаю шаблон для генерации XML файла нужного формата. Стоит задача, что если атрибут называется ОСНОВНОЙ ЦВЕТ, то отобразить его как просто ЦВЕТ. Для этого было написано условие, оно не помогло. В чем может быть ошибка? Может я не правильно написал?

{% for attribute in offer.attributes %}
        <param name="{{attribute.name}}" {% if attribute.name == "Основной цвет" %} Цвет {% endif %}>{{attribute.value}}</param>
{% endfor %}

 

Share this post


Link to post
Share on other sites
12 минут назад, LevJek сказал:

Друзья, выручайте пожалуйста. Делаю шаблон для генерации XML файла нужного формата. Стоит задача, что если атрибут называется ОСНОВНОЙ ЦВЕТ, то отобразить его как просто ЦВЕТ. Для этого было написано условие, оно не помогло. В чем может быть ошибка? Может я не правильно написал?


{% for attribute in offer.attributes %}
        <param name="{{attribute.name}}" {% if attribute.name == "Основной цвет" %} Цвет {% endif %}>{{attribute.value}}</param>
{% endfor %}

 

Попробуйте иначе
 

{% if attribute.name in ['Основной цвет'] %} Цвет {% endif %}

 

  • +1 1

Share this post


Link to post
Share on other sites
6 минут назад, Waha сказал:

Попробуйте иначе
 


{% if attribute.name in ['Основной цвет'] %} Цвет {% endif %}

 

Здравствуйте, @Waha ! Спасибо за ответ! К сожалению полезла ошибка (скриншот). Полный код ниже:

<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="{{date}}">
  <shop>
    <name>site</name>
    <company>site</company>
    <url>http://site.site</url>
    <currencies>
      <currency id="{{currency}}" rate="1"/>
<currency id="PLN" rate="7.03"/>
    </currencies>
    <categories>
{% for category in categories%}
      <category id="{{category.id}}" {% if category.parentId  %} parentId="{{category.parentId}}" {% endif %}>{{category.name}}</category>
{% endfor %}
    </categories>

    <offers>
{% for offer in offers%}
      <offer available="true" id="{{offer.id}}">
        <url>{{offer.url}} </url>
      <price>{{offer.price * 1.2}}</price>
        {% if offer.oldprice %}<oldprice>{{offer.oldprice}}</oldprice>{% endif %}
        <currencyId>PLN</currencyId>
        <categoryId>{{offer.categoryId}}</categoryId>
        <name>{{offer.name}}</name>
<stock_quantity>100</stock_quantity>

        <description>
<![CDATA[
test
]]>
</description>
     

   
       
     
{% for image in offer.image %}
        <picture>{{image}}</picture>
<vendor>{{offer.vendor}}</vendor>
{% endfor %}

{% for attribute in offer.attributes %}
        <param name="{{attribute.name}}" {% if attribute.name in ['Основной цвет'] %} Цвет {% endif %}>{{attribute.value}}</param>
{% endfor %}

      </offer>
{% endfor %}
    </offers>
  </shop>
</yml_catalog>

image.thumb.png.61b15e2c52f2980b2e369edcaf715629.png

Share this post


Link to post
Share on other sites

сделайте замену в name основной цвет на цвет и все

Share this post


Link to post
Share on other sites
4 минуты назад, spectre сказал:

сделайте замену в name основной цвет на цвет и все

Вы имеете ввиду просто черед админку переименовать основной цвет на цвет? Если так, то нет. Потому что сайт, куда будут выгружаться данные имеет атрибут ЦВЕТ. На моем сайте этот атрибут называется ОСНОВНОЙ ЦВЕТ. 

Share this post


Link to post
Share on other sites
18 минут назад, LevJek сказал:

Вы имеете ввиду просто черед админку переименовать основной цвет на цвет? Если так, то нет. Потому что сайт, куда будут выгружаться данные имеет атрибут ЦВЕТ. На моем сайте этот атрибут называется ОСНОВНОЙ ЦВЕТ. 

нет, в выводе менять

  • +1 1

Share this post


Link to post
Share on other sites
Только что, spectre сказал:

нет, в выводе менять

Подскажите пожалуйста как это сделать? Вот кусок кода:

{% for attribute in offer.attributes %}
        <param name="{{attribute.name}}" {% if attribute.name in ['Основной цвет'] %} Цвет {% endif %}>{{attribute.value}}</param>
{% endfor %}

 

Share this post


Link to post
Share on other sites
15 минут назад, LevJek сказал:

Подскажите пожалуйста как это сделать? Вот кусок кода:


{% for attribute in offer.attributes %}
        <param name="{{attribute.name}}" {% if attribute.name in ['Основной цвет'] %} Цвет {% endif %}>{{attribute.value}}</param>
{% endfor %}

 

{% for attribute_group in attribute_groups %}
{% for attribute in attribute_group.attribute %}
{% if attribute.name in ['Clockspeed'] %} Цвет {% endif %}
{% endfor %}
{% endfor %}

image.png.c7e5e739c197101fd9b95852e767e37a.png
Вот так работает и нет никаких проблем, т.е то что я прислал работает, видимо у вас там чет с атрибутами в целом

Share this post


Link to post
Share on other sites
8 минут назад, Waha сказал:

{% for attribute_group in attribute_groups %}
{% for attribute in attribute_group.attribute %}
{% if attribute.name in ['Clockspeed'] %} Цвет {% endif %}
{% endfor %}
{% endfor %}

image.png.c7e5e739c197101fd9b95852e767e37a.png
Вот так работает и нет никаких проблем, т.е то что я прислал работает, видимо у вас там чет с атрибутами в целом

Спасибо за ответ! С атрибутами все нормально. Не знаю в чем проблема. Буду дальше искать решение. 

Share this post


Link to post
Share on other sites
1 час назад, LevJek сказал:

К сожалению полезла ошибка (скриншот). Полный код ниже:

так у вас тег param формируется некорректно
попробуйте так

{% for attribute in offer.attributes %}
        <param name="{{ attribute.name == 'Основной цвет' ? 'Цвет' : attribute.name }}">{{attribute.value}}</param>
{% endfor %}

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.