Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Вывод определенных атрибутiов ocStore 3.0.2.0


helen2014
 Поделиться

Рекомендованные сообщения

Здравствуйте!

ocStore 3.0.2.0

Помогите вывести атрибуты по id.

            {% if attribute_groups %}

              <table class="table table-bordered">
                {% for attribute_group in attribute_groups %}
                <thead>
                  <tr>
                    <td colspan="2"><strong>{{ attribute_group.name }}</strong></td>
                  </tr>
                </thead>
                <tbody>
                {% for attribute in attribute_group.attribute %}
                <tr>
                  <td>{{ attribute.name }}</td>
                  <td>{{ attribute.text }}</td>
                </tr>
                {% endfor %}
                  </tbody>
                {% endfor %}
              </table>

            {% endif %}   

 

Ссылка на комментарий
Поделиться на других сайтах


16 минут назад, helen2014 сказал:

Здравствуйте!

ocStore 3.0.2.0

Помогите вывести атрибуты по id.

 

вывод названия и значения только атрибута с id=3

{% if attribute.attribute_id == 3 %}
  <tr>
    <td>{{ attribute.name }}</td>
    <td>{{ attribute.text }}</td>
  </tr>
{% endif %}

 

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах

Типа такого что-то?

                 {% if attribute.id == '1' or attribute.id == '2' %}
                  <td>{{ attribute.name }}</td>
                  <td>{{ attribute.text }}</td>
                 {% endif %}

 

Ссылка на комментарий
Поделиться на других сайтах

Спасибо!

Но этот вариант не работает.

Выводится только группа атрибута.

Сам атрибут и значения атрибута нет.

Ссылка на комментарий
Поделиться на других сайтах


@helen2014 покажите код полностью плиз. Не может не работать, обязано.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

да, и у меня не правильно там, сорри - не attribute.id, а attribute.attribute_id, как писал @Blast

Ссылка на комментарий
Поделиться на других сайтах

2 минуты назад, PaulKravchenko сказал:

@helen2014 покажите код полностью плиз. Не может не работать, обязано.

            {% if attribute_groups %}

              <table class="table table-bordered">
                {% for attribute_group in attribute_groups %}
                <thead>
                  <tr>
                    <td colspan="2"><strong>{{ attribute_group.name }}</strong></td>
                  </tr>
                </thead>
                <tbody>
                {% for attribute in attribute_group.attribute %}
                <tr>
                {% if attribute.id == '13' or attribute.id == '13' %}
                  <td>{{ attribute.name }}</td>
                  <td>{{ attribute.text }}</td>
                 {% endif %}
                </tr>
                {% endfor %}
                  </tbody>
                {% endfor %}
              </table>

            {% endif %}         

Ссылка на комментарий
Поделиться на других сайтах


{% if attribute.attribute_id == '13' %}

если нужно несколько атрибутов, то можно так:

{% if attribute.attribute_id in [13, 14, 15] %}

Изменено пользователем Blast
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

1 минуту назад, Blast сказал:

{% if attribute.attribute_id == '13' %} 

Так работает! Спаибо!

а если атрибутов несколько, добавляем через запятую?

{% if attribute.attribute_id == '13,14,15,16' %} 

Ссылка на комментарий
Поделиться на других сайтах


1 минуту назад, helen2014 сказал:

добавляем через запятую?

не прокатит, через or

Ссылка на комментарий
Поделиться на других сайтах

6 минут назад, helen2014 сказал:

Так работает! Спаибо!

а если атрибутов несколько, добавляем через запятую?

{% if attribute.attribute_id == '13,14,15,16' %} 

{% if attribute.attribute_id in [13, 14, 15] %}

Ссылка на комментарий
Поделиться на других сайтах

  • 10 месяцев спустя...
  • 4 месяца спустя...
В 21.07.2020 в 12:16, nibbl сказал:

вставил не работает,  надо еще что то вставлять в контроллере? 

{% for attribute_group in attribute_groups %}
   {% for attribute in attribute_group.attribute %}
 {% if attribute.attribute_id in [1, 2, 3, 4] %} <!-- тут id атрибутов -->
<td>{{ attribute.name }}</td><!-- тут название атрибута-->
<td>{{ attribute.text }}</td><!-- тут текст/описание атрибута -->
   {% endif %}
   {% endfor %}
   {% endfor %}

Ссылка на комментарий
Поделиться на других сайтах


  • 4 месяца спустя...

В контролер после $data['products'][] = array(
--

'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),

--

Изменено пользователем vsok2007
Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

У меня не работает. 

вот такой код получается? 

    {% if attribute_groups %}

              <table class="table table-bordered">
                {% for attribute_group in attribute_groups %}
                <thead>
                  <tr>
                    <td colspan="2"><strong>{{ attribute_group.name }}</strong></td>
                  </tr>
                </thead>
                <tbody>
                {% for attribute in attribute_group.attribute %}
                <tr>
                {% if attribute.id in [17, 73, 34, 35] or attribute.id in [17, 73, 34, 35] %}
                  <td>{{ attribute.name }}</td>
                  <td>{{ attribute.text }}</td>
                 {% endif %}
                </tr>
                {% endfor %}
                  </tbody>
                {% endfor %}
              </table>

            {% endif %}  

Ссылка на комментарий
Поделиться на других сайтах


  • 4 недели спустя...

Здравствуйте, уважаемые.

 

Помогите пожалуйста. Нужно вывести атрибуты только из категории "Характеристики"

 

<div class="products__tabs-container">
                           {% if (product['attribute_groups']) %}
                            <div class="products__tabs-content js-tabs-content is-active">
                              <div class="products__info">
                                <div class="row">
                                  {% for attributeColumn in product['attribute_groups'] %}
                                    <div class="col-6 col-md-6">
                                      <dl class="products__info-dl">
                                      {% for attribute in attributeColumn %}
                                        <dt>{{ attribute['name'] }}</dt>
                                        <dd>{{ attribute['text'] }}</dd>
                                      {% endfor %}                                      
                                      </dl>
                                    </div>
                                  {% endfor %} 
                                </div>
                              </div>
                            </div>
                           {% endif %}
                          </div>

 

Изменено пользователем Igor112
Ссылка на комментарий
Поделиться на других сайтах


3 часа назад, Igor112 сказал:

Здравствуйте, уважаемые.

 

Помогите пожалуйста. Нужно вывести атрибуты только из категории "Характеристики"

 

<div class="products__tabs-container">
                           {% if (product['attribute_groups']) %}
                            <div class="products__tabs-content js-tabs-content is-active">
                              <div class="products__info">
                                <div class="row">
                                  {% for attributeColumn in product['attribute_groups'] %}
                                    <div class="col-6 col-md-6">
                                      <dl class="products__info-dl">
                                      {% for attribute in attributeColumn %}
                                        <dt>{{ attribute['name'] }}</dt>
                                        <dd>{{ attribute['text'] }}</dd>
                                      {% endfor %}                                      
                                      </dl>
                                    </div>
                                  {% endfor %} 
                                </div>
                              </div>
                            </div>
                           {% endif %}
                          </div>

 

{% if attributeColumn.attribute_group_id == 'ид_категории_Характеристики' %} 
Ссылка на комментарий
Поделиться на других сайтах

В 05.06.2021 в 15:57, Blast сказал:

 

{% if attributeColumn.attribute_group_id == 'ид_категории_Характеристики' %} 
 <div class="products__tabs-container">
                           {% if (product['attribute_groups']) %}
                            <div class="products__tabs-content js-tabs-content is-active">
                              <div class="products__info">
                                <div class="row">
                                  {% for attributeColumn in product['attribute_groups'] %}
								  {% if attributeColumn.attribute_group_id == '8' %} 
                                    <div class="col-6 col-md-6">
                                      <dl class="products__info-dl">
                                      {% for attribute in attributeColumn %}
                                        <dt>{{ attribute['name'] }}</dt>
                                        <dd>{{ attribute['text'] }}</dd>
                                      {% endfor %} 								  
                                      </dl>
                                    </div>
									{% endif %}
                                  {% endfor %} 	
                                </div>
                              </div>
                            </div>
                           {% endif %}
                          </div>

Добавил данный код, теперь не выводит атрибуты совсем.

Ссылка на комментарий
Поделиться на других сайтах


15 часов назад, Igor112 сказал:
 <div class="products__tabs-container">
                           {% if (product['attribute_groups']) %}
                            <div class="products__tabs-content js-tabs-content is-active">
                              <div class="products__info">
                                <div class="row">
                                  {% for attributeColumn in product['attribute_groups'] %}
								  {% if attributeColumn.attribute_group_id == '8' %} 
                                    <div class="col-6 col-md-6">
                                      <dl class="products__info-dl">
                                      {% for attribute in attributeColumn %}
                                        <dt>{{ attribute['name'] }}</dt>
                                        <dd>{{ attribute['text'] }}</dd>
                                      {% endfor %} 								  
                                      </dl>
                                    </div>
									{% endif %}
                                  {% endfor %} 	
                                </div>
                              </div>
                            </div>
                           {% endif %}
                          </div>

Добавил данный код, теперь не выводит атрибуты совсем.

если для получения атрибутов пользовались стандартной функцией, то должно быть так

{% for attribute in attributeColumn.attribute %}

а если какой-то самопис, то кто ж знает какая у вас структура данных и как отличить категорию Характеристики от других

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

Подскажите, а если нужно вывести выбранные атрибуты только в определенной категории, какую функцию прописать?
Что-то вроде этого: {% if category.category_id == '66' %} ?

Ссылка на комментарий
Поделиться на других сайтах


В 22.06.2021 в 17:31, configurator сказал:

Подскажите, а если нужно вывести выбранные атрибуты только в определенной категории, какую функцию прописать?
Что-то вроде этого: {% if category.category_id == '66' %} ?

сформировать нужные данные в зависимости от входных данных в контроллере. в твиге (во вьюхе) вообще логики по минимуму должно быть. пишите сразу правильно

Ссылка на комментарий
Поделиться на других сайтах


А можете подробнее написать? Например сюда (category.php):

$data['products'][] = array(
					'product_id'  => $result['product_id'],

Добавить:
 

$data['products'][] = array(
					'product_id'  => $result['product_id'],
                    'category_id'  => $result['product_categoryid'],

Так?

Ссылка на комментарий
Поделиться на других сайтах


  • 1 год спустя...

Здравствуйте. Не могу никак вывести атрибуты определенной группы в карточке.

	{% for attribute_group in attribute_groups %}
							<h4 class="heading"><span>{{ attribute_group.name }}</span></h4>
							<div class="product-data">
								{% for attribute in attribute_group.attribute %}
									<div class="product-data__item">
										<div class="product-data__item-div">{{ attribute.name }}</div>
										<div class="product-data__item-div">{{ attribute.text }}</div>
									</div>
								{% endfor %}
							</div>
						{% endfor %}

 

Надо как-то по id группы сделать

Изменено пользователем dizastill
Ссылка на комментарий
Поделиться на других сайтах


27.10.2022 в 13:23, dizastill сказал:

Здравствуйте. Не могу никак вывести атрибуты определенной группы в карточке.

	{% for attribute_group in attribute_groups %}
							<h4 class="heading"><span>{{ attribute_group.name }}</span></h4>
							<div class="product-data">
								{% for attribute in attribute_group.attribute %}
									<div class="product-data__item">
										<div class="product-data__item-div">{{ attribute.name }}</div>
										<div class="product-data__item-div">{{ attribute.text }}</div>
									</div>
								{% endfor %}
							</div>
						{% endfor %}

 

Надо как-то по id группы сделать

{% if attribute_group.attribute_group_id == 'ид_нужной_группы' %} 
Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.