Перейти к содержанию

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

Я может немного туповат.

Но все же подскажите в каком массиве или переменной содержится значение id для категорий в файле category.tpl

Заранее всем спасибо.

Поделиться сообщением


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

catalog\controller\product\category.php

 

				$category_info = $this->model_catalog_category->getCategory($path_id);
				
				if ($category_info) {
	       			$this->data['breadcrumbs'][] = array(
   	    				'text'      => $category_info['name'],
						'href'      => $this->url->link('product/category', 'path=' . $path),
        				'separator' => $this->language->get('text_separator')
        			);
				}
			}		
		
			$category_id = (int)array_pop($parts);
		} else {
			$category_id = 0;
		}

Поделиться сообщением


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

Спасибо.

Такое ощущение что на форуме только вы и есть))

 

 

Я наверное неправильно выразился((

 

Задача такая. С помощью модуля БЛОГ от господина "MARKIMAX"

я вывожу посты в категорию "АКЦИИ" товара в этой категории нет, вследствие этого выводится надпись "в этой категории нет товаров" и выскакивает кнопка "вернуться". Я хочу с помощью условия if-else запретить вывод этих строк только в этой категории. строки вывода прописаны в category.tpl  а вот найти какой массив содержит id  категории не могу.

Поделиться сообщением


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

Это только ощущение, просто день не сильно напряженный, вот и заскакиваю :-)

Поделиться сообщением


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

в файле

/catalog/controller/product/category.php

дописываешь строку, чтобы было как тут:

if ($category_info) {
    $this->data['breadcrumbs'][] = array(
        'text'      => $category_info['name'],
	'href'      => $this->url->link('product/category', 'path=' . $path),
        'separator' => $this->language->get('text_separator'), // ТУТ запятую добавляем
	'cid' 	    => $path // Эту строку тоже добавляем.
     );

Теперь из любого места category.tpl можешь получить номер текущей категории (если субкатегория, то в формате ХХ_ХХ, но мне кажется для твоих целей пойдет) следующим кодом:

$i = sizeof($breadcrumbs);
$CATEGORY_ID = $breadcrumbs[--$i]['cid'];

$CATEGORY_ID - это и есть искомое значение!

  • +1 1

Поделиться сообщением


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

Огромное спс.

Я ваш должник)))

Поделиться сообщением


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

Незачто, главное, чтобы работало)

Если понадобится, чтобы формат субкатегорий был не XX_YY, а просто YY - напиши, я переделаю код)

Поделиться сообщением


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

lakbor, спасибо)

 

правда я бы написал:

$last_breadcrumbs_item = array_pop($breadcrumbs);
$CATEGORY_ID = $last_breadcrumbs_item['cid'];

Подскажит каким образом действует оператор "--" в квадратных скобках (  $breadcrumbs[--$i]['cid'];  ) ?

 

Погуглил, но не нашел - просто интересно)

Поделиться сообщением


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

это стандартный предекремент, никакой магии)

 

З.Ы. Ваш способ с использованием array_pop() уменьшает массив хлебных крошек на один элемент, и использовать его (массив) впоследствии не представляется возможным, а вдруг понадобится)

Изменено пользователем lakbor

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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