Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Кнопка "Подобрать аналог"


Recommended Posts

Добрые люди, помогите, чем можете 

 

В карточке товара рядом с названием у меня есть кнопка "Подобрать аналог"

	<h1 itemprop="name">
	<?php echo $heading_title;?>
	<?php foreach ($catprod as $catp) { ?>
	<a href="<?php if(end($catprod)===$catp) { foreach ($attribute_groups as $attribute_group) { foreach ($attribute_group['attribute'] as $attribute) { if (in_array($attribute['attribute_id'], array(1949))) { echo $catp['href1']; } elseif (in_array($attribute['attribute_id'], array(1948))) { echo $catp['href2']; } elseif (in_array($attribute['attribute_id'], array(1950))) { echo $catp['href4']; } elseif (in_array($attribute['attribute_id'], array(1949,1948))) { echo $catp['href3']; } elseif ((in_array($attribute['attribute_id'], array(1949))) && (in_array($attribute['attribute_id'], array(1948))) && (in_array($attribute['attribute_id'], array(1950)))) { echo $catp['href5']; } } } } ?>" target="_blank" 
	<?php if(end($catprod)===$catp) { ?> class="btn btn-danger" style="margin-left: 10px; margin-bottom: 5px;" 
	<?php } ?>><?php if(end($catprod)===$catp) { echo $catp['name']; }  } ?></a></h1>

	<?php //echo $catp['href'];  ?>

Вкратце, у меня есть перебор хлебных крошек $catprod и есть перебор атрибутов.

По хлебным крошкам мне нужно брать только последнюю категорию куда входит товар, я отрезаю все остальных элементы вот таким условием, последнюю категорию я записываю в $catp['href'] -

if(end($catprod)===$catp)

Дальше, я в этом условии перебираю все атрибуты, мне нужно выделить 3 ключевых атрибута 1948,1949,1950

И в зависимости от атрибута через кнопку я должен переходить на сформированные уже ссылки. Если в товаре только 1948 атрибут, то одна ссылка href1, если 1948 и 1949 то уже другая href2 и т.д. Конкретно, то что сейчас написано работает, только с одиночными атрибутами, а если атрибутов нет, то я у меня переходит на главную страницу, т.к я не могу придумать условия, когда атрибутов, которые мне нужны нету, ну и с двойными атрибутами то у меня в адресной строке появляются две ссылки href1href2, эту задачу можно решить по разному, но всё тут будет крутить между хлебными крошками и атрибутами, как мне отловить условие, когда нету 1948,1949,1950 атрибутов?

 

Так не работает 

!(in_array($attribute['attribute_id'], array(1949,1950,1948)))

И так тоже 

!((in_array($attribute['attribute_id'], array(1949)))&&(in_array($attribute['attribute_id'], array(1948)))&&(in_array($attribute['attribute_id'], array(1950))))

 

Link to post
Share on other sites

Какие то костыли.

Всю логику перебора товаров и их атрибутов по категории можно и в самом контроллере провести.

 

1. Последний елемент из хлебных крошек можно взять в самом /catalog/controller/catalog/product.php (и id самой категории)

2. Вместо:

!(in_array($attribute['attribute_id'], array(1949,1950,1948)))

Попробуйте так:

$array = array(1949,1950,1948); // Attribute ID for *

if (!in_array($attribute['attribute_id'], $array) {
// когда не в массиве, то выполняем
}

 

 

Link to post
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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • 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.