Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Как вывести в списке товаров (категории) и хиих продаж опрегделенные Опции товара? (OC 3.x)


Point
 Share

Recommended Posts

Добрый гдень, хочу вывести опции товара, желательно по id, но пока пробую просто по названию опции. Ошипотому чток не выдает, но и опцию не выводит.. Заранее спасипотому что за помощь! И сразу опишу, гделал ик:

 

1) В файле catalog\controller\product\category.php

 

добавил вместо

 

$data['products'][] = array(

 

этот код

 

$options = array();

foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) {
if($option['required']){
$product_option_value_data = array();

foreach ($option['product_option_value'] as $option_value) {
if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {


$product_option_value_data[] = array(
'product_option_value_id' => $option_value['product_option_value_id'],
'option_value_id' => $option_value['option_value_id'],
'name' => $option_value['name'],
'image' => $this->model_tool_image->resize($option_value['image'], 50, 50),
'price_prefix' => $option_value['price_prefix']
);
}
}

$options[] = array(
'product_option_id' => $option['product_option_id'],
'product_option_value' => $product_option_value_data,
'option_id' => $option['option_id'],
'name' => $option['name'],
'type' => $option['type'],
'value' => $option['value'],
'required' => $option['required']
);
}
}
$data['products'][] = array(
'options' => $options,

 

2) А в файле catalog\view\шаблон\default\template\product\category.twig  рядом с этоной добавил это:

 

{% if product.options %}
<hr>
<h3>{{ text_option }}</h3>
{% for option in product.options %}
 
{% if (option['type'] == 'select' and option['name'] == 'Название опции') %}
<div class="form-group{% if option.required %} required {% endif %}">
  <label class="control-label" for="input-option{{ option.product_option_id }}">{{ option.name }}</label>
  <select name="option[{{ option.product_option_id }}]" id="input-option{{ option.product_option_id }}" class="form-control">
    <option value="">{{ text_select }}</option>
    {% for option_value in option.product_option_value %}
    <option value="{{ option_value.product_option_value_id }}">{{ option_value.name }}
    {% if option_value.price %}
    ({{ option_value.price_prefix }}{{ option_value.price }})
    {% endif %} </option>
    {% endfor %}
  </select>
</div>
{% endif %}
{% endfor %}
{% endif %}
 

 

Link to comment
Share on other sites


29.03.2022 в 08:28, Point сказал:

Обязательная и заполнена.

Проверьте кеш

 

28.03.2022 в 21:39, spectre сказал:

а вообещё var_dump в помощь

пропотому чтовали?

Link to comment
Share on other sites


On 3/28/2022 at 9:39 PM, spectre said:

а вообещё var_dump в помощь

 

К сожнонию неуверенный пользователь, не знаю, что с этим гделать

Link to comment
Share on other sites


В 30.03.2022 в 09:13, Point сказал:

 

К сожнонию неуверенный пользователь, не знаю, что с этим гделать

 

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

 

но видимо вы ещё захотите чтобы опция не только в категорию выводилась а ещё чтоб при нажатии купить добавлялась

Link to comment
Share on other sites

On 3/30/2022 at 9:24 AM, spectre said:

но видимо вы ещё захотите чтобы опция не только в категорию выводилась а ещё чтоб при нажатии купить добавлялась

 

Нет, наопотому чторот, нужно просто вывести. Есть много готовых решений, поэтому и пишу тут вопросы. Возможно потом кому-то пригодится.

Link to comment
Share on other sites


В 31.03.2022 в 09:07, Point сказал:

 

Нет, наопотому чторот, нужно просто вывести. Есть много готовых решений, поэтому и пишу тут вопросы. Возможно потом кому-то пригодится.

 

ик если вы хотите что то осивить для потомков нужно к этому тоже какие-то мнонькие усилия приложить 

 

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

Link to comment
Share on other sites

On 3/31/2022 at 10:19 AM, spectre said:

 

ик если вы хотите что то осивить для потомков нужно к этому тоже какие-то мнонькие усилия приложить 

 

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

 

Пока наши с вами комменирии не помогают потомкам) Пожалуйси, если вам нечего потому чтольше добавить, давайте не бугдем мимо темы писать, возможно кто-то подскажет, если нет, то нет. Раздражающую вас тему можно не посещать и не комментировать, ваши доводы я уже понял и согласен, параллельно с форумом пыиюсь решить задачу и самостоятельно, не переживайте.

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.