sidoruk_v info@ow-s.com +38044 222-70-92

Автоматическая генерация title meta description keywords на старницу товара Opencart

Опубликовано December 08, 2015 . 0 коментариев.

При разработке очередного проекта была поставлена задача прописать автоматитческую генерацию title, meta description и meta keywords для карточки товара по шаблону. Схема генерации следующая 

Title: НАЗВАНИЕ ПОДРАЗДЕЛА НАЗВАНИЕ ТОВАРА купить модель НОМЕР МОДЕЛИ с доставкой по всей России в интернет-магазине .... 

Meta-description: Купить НАЗВАНИЕ ПОДРАЗДЕЛА НАЗВАНИЕ ТОВАРА модель НОМЕР МОДЕЛИ с 
доставкой по всей России в интернет-магазине ... 

Meta-keywords: купить НАЗВАНИЕ ПОДРАЗДЕЛА НАЗВАНИЕ ТОВАРА НОМЕР МОДЕЛИ 

Итак, открываем для редактирования контроллер карточки товара по адресу /catalog/controller/product файл product.php

Находим где формируется масив хлебных крошек, а именно строки 

$this->data['breadcrumbs'][] = array(
				'text'      => $product_info['name'],
				'href'      => $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id'], 'SSL'),
				'separator' => $this->language->get('text_separator')
			);	

и начинаем писать после данных строчек.

Для начала получим текущую категорию в которой находится товар, для этого может немного кустарно но получаем название последней категории. Для этого после выше указанных строчек вставляем

 $product_category = $this->model_catalog_product->getCategories($product_id);
          
          foreach ($product_category as $prodcat) 
		  {          
          $category_info = $this->model_catalog_category->getCategory($prodcat['category_id']);          
          if ($category_info)
		  {   
            $podcatname =$category_info['name']; 
          }
          }

отсюда мы получаем переменную 

            $podcatname =$category_info['name']; 

которая содержит название категории товара.

Все остальные переменные уже есть и доступны в контроллере, их формировать не нужно, а именно

$product_info['name'] - название  товара
$product_info['model'] - модель товара

Итак, прописываем автоматическое формирование title для страницы товара Opencart. Находим строки 

$this->document->setTitle($product_info['name']);

либо 

if ($product_info['seo_title']) {
		  	$this->document->setTitle($product_info['seo_title']);
			} else {
		  		$this->document->setTitle($product_info['name']);					
			}		

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

$avtotitle = $category_info['name']. ' ' .$product_info['name'].' купить модель ' . $product_info['model'].' с доставкой по всей России в интернет-магазине ...';
			$this->document->setTitle($avtotitle);	

Провряем и радуемся автоматическому формированию title для страницы товара опенкарт

Для автоматического формирования meta-description находим строки 

$this->document->setDescription($product_info['meta_description']);

коментируем или удаляем их и всместо вставляем 

$avtometadescr = 'Купить ' .$category_info['name']. ' ' .$product_info['name']. ' модель ' .  $product_info['model']. ' с доставкой по всей России в интернет-магазине ...'; 
			$this->document->setDescription($avtometadescr);

таким образом мы получили автоматическое формирование meta-description для карточки товара opencart

Для автоматического формирования meta-keywords по шаблону находим

$this->document->setKeywords($product_info['meta_keyword']);

коментируем или удаляем и вместо ставим 

$avtokeywords = 'купить ' . $category_info['name']. ' '  .$product_info['name']. ' ' . $product_info['model'];
			$this->document->setKeywords($avtokeywords);

и получаем автоматическое формирование meta-keywords для карточки товара Opencart.

Для данного автоматического формирования сео параметров возможно использовать практически все переменные которые доступны в карточке товара. Если не можете найти как использовать переменные для автоматического формирования - пишите в коментариях, постараемся помочь. Это бесплатно :). Хороших Вам разработок и качественных магазинов. 

Коментарии

Оставить коментарий

Ответить

* Имя:
* E-mail: (Не публикуется)
   Вебсайт: (url сайта с http://)
* Коментарий:
Оставить заявку
Если у вас есть вопросы, или вы хотите заказать разработку интернет магазина, то свяжитесь с нами любым удобным для Вас способом:
ЗаполнитеФорму заявки
Позвоните по телефону+38044 222-70-92
Отправьте заявку на почтуinfo@ow-s.com