Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Шаблон XML


Recommended Posts

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

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

 

Надіслати
Поділитися на інших сайтах


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
Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах


4 минуты назад, spectre сказал:

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

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

Надіслати
Поділитися на інших сайтах


18 минут назад, LevJek сказал:

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

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

  • +1 1
Надіслати
Поділитися на інших сайтах

Только что, spectre сказал:

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

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

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

 

Надіслати
Поділитися на інших сайтах


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
Вот так работает и нет никаких проблем, т.е то что я прислал работает, видимо у вас там чет с атрибутами в целом

Надіслати
Поділитися на інших сайтах

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
Вот так работает и нет никаких проблем, т.е то что я прислал работает, видимо у вас там чет с атрибутами в целом

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

Надіслати
Поділитися на інших сайтах


1 час назад, LevJek сказал:

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

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

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

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.