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

Вывод заголовка категории в шапке сайта header.tpl


Recommended Posts

Добрый день. Может кто-то подсказать как вывести заголовок текущей категории товаров в шапке сайта? В header.tpl прописал вывод в нужном месте следующим образом 

 

<p class="heading">&laquo;<?php echo $heading_title; ?>&raquo;</p>

 

А что нужно прописать в контроллере?

 

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


1 годину назад, psamodurov13 сказав:

Добрый день. Может кто-то подсказать как вывести заголовок текущей категории товаров в шапке сайта? В header.tpl прописал вывод в нужном месте следующим образом 

 

<p class="heading">&laquo;<?php echo $heading_title; ?>&raquo;</p>

 

А что нужно прописать в контроллере?

 

Может заполнить Title в начале?

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


Решение от @fanatic
в контроллере найти

// Set the last category breadcrumb
$category_info = $this->model_catalog_category->getCategory($category_id);

после добавить

            $data['main_category'] = array(
                'text' => $category_info['name'],
                'href' => $this->url->link('product/category', 'path=' . $category_info['category_id'])
            );

в шаблоне

<a href="<?php echo $main_category['href']; ?>"><?php echo $main_category['text']; ?></a>
Надіслати
Поділитися на інших сайтах


33 минуты назад, bodyak0 сказал:

Решение от @fanatic
в контроллере найти


// Set the last category breadcrumb
$category_info = $this->model_catalog_category->getCategory($category_id);

а вот этого и нет в header.php

 

вот что есть

		// Menu
		$this->load->model('catalog/category');

		$this->load->model('catalog/product');

		$data['categories'] = array();

		$categories = $this->model_catalog_category->getCategories(0);

		foreach ($categories as $category) {
			if ($category['top']) {
				// Level 2
				$children_data = array();

				$children = $this->model_catalog_category->getCategories($category['category_id']);

				foreach ($children as $child) {
					$filter_data = array(
						'filter_category_id'  => $child['category_id'],
						'filter_sub_category' => true
					);

					$children_data[] = array(
						'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
						'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
					);
				}

				// Level 1
				$data['categories'][] = array(
					'name'     => $category['name'],
					'children' => $children_data,
					'column'   => $category['column'] ? $category['column'] : 1,
					'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
				);
			}
		}

		$data['language'] = $this->load->controller('common/language');
		$data['currency'] = $this->load->controller('common/currency');
		$data['search'] = $this->load->controller('common/search');
		$data['cart'] = $this->load->controller('common/cart');

 

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


Если кого-то заинтересует вывод заголовка h1 в header, то вот решение, не идеальное. Если кто-то предложит что-то более правильное, буду рад использовать

 

В system/library/document.php 

после 

<?php
class Document {
	private $title;
	private $description;
	private $keywords;

 

вставить

private $meta_h1;

 

и после 

public function getKeywords() {
		return $this->keywords;
	}

 

вставить

public function setSearchHeading($meta_h1) {
		$this->meta_h1 = $meta_h1;
	}

	public function getSearchHeading() {
		return $this->meta_h1;
	}

 

в controller/common/header.php

после

$data['description'] = $this->document->getDescription();
		$data['keywords'] = $this->document->getKeywords();

вставить

$data['search_heading'] = $this->document->getSearchHeading();

 

Мне надо было вывести заголовок в шапке на страницах категорий, главной и производителях. Поэтому приведу пример на страницах категорий товаров

в controller/product/category.php

после 

if ($category_info['meta_h1']) {
				$data['heading_title'] = $category_info['meta_h1'];
			} else {
				$data['heading_title'] = $category_info['name'];
			}

вставить

if ($category_info['meta_h1']) {
				$this->document->setSearchHeading($category_info['meta_h1']);
			} else {
				$this->document->setSearchHeading($category_info['name']);
			}

 

затем в файле header.tpl выводим заголовок в нужном месте

<p class="search_heading"><?php echo $search_heading; ?></p>

 

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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