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

H1 для категорий и товаров [OpenCart 2.0.x]


Recommended Posts

  1. помогите решить проблему, все сделал по порядку
  2. выгрузка работает и все гуд(через админку сайт рабочий), только сайт перестал работаь, когда заходишь по адресу на экране код
  3. могу скинуть код если нужен текс, сайт полетел, а бэк ап забыл сделать, пожалуйста скажите мне что не нужно будет переписывать его заного 
  4. Урок так урок будет мне (бэк ап наше все)

 

Безымянный.png

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


21 час назад, malako сказал:

все выполнил пишет такое 

 Error: Unknown column 'main_category' in 'where clause'
Error No: 1054
SELECT category_id FROM oc_product_to_category WHERE product_id = '50' AND main_category = '1' LIMIT 1

 

уже решил , спасибо не тратье время

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


  • 6 months later...
В 19.02.2015 в 21:25, stanislavbelov сказал:

Не знаю было или нет, но на всякий случаю выложу инструкцию для добавления H1 в категории и карточки товаров для OpenCart 2.0.x 
 
И так начнем.
 
Пункт 1
 
Идем в phpMyAdmin, выбираем нашу базу и нажимаем кнопочку SQL. Делаем два sql запроса.
 


ALTER TABLE `oc_category_description` ADD `meta_h1` VARCHAR( 255 ) NOT NULL;
ALTER TABLE `oc_product_description` ADD `meta_h1` VARCHAR( 255 ) NOT NULL;

Пункт 2
 
Открываем admin/controller/catalog/category.php
 
Ищем строку

 


$data['entry_meta_title'] = $this->language->get('entry_meta_title');

после нее вставляем


$data['entry_meta_h1'] = $this->language->get('entry_meta_h1');

 
Открываем admin/controller/catalog/product.php
 
Ищем строку


$data['entry_meta_title'] = $this->language->get('entry_meta_title');

после нее вставляем


$data['entry_meta_h1'] = $this->language->get('entry_meta_h1');

 
Пункт 3
 
Открываем admin/language/english/catalog/category.php
 
Ищем строку


$_['entry_meta_title'] 	     = 'Meta Tag Title';

после нее вставляем


$_['entry_meta_h1'] 	         = 'HTML Tag H1';

 
Открываем admin/language/english/catalog/product.php
 
Ищем строку


$_['entry_meta_title'] 	     = 'Meta Tag Title';

после нее вставляем


$_['entry_meta_h1'] 	         = 'HTML Tag H1';

 
Открываем admin/language/russian/catalog/category.php
 
Ищем строку (тут зависит от вашего перевода, я например перевел как HTML-тег Title)


$_['entry_meta_title'] 	     = 'HTML-тег Title';

после нее вставляем


$_['entry_meta_h1']           = 'HTML-тег H1';

 
Открываем admin/language/russian/catalog/product.php
 
Ищем строку (тут зависит от вашего перевода, я например перевел как HTML-тег Title)


$_['entry_meta_title'] 	     = 'HTML-тег Title';

после нее вставляем


$_['entry_meta_h1'] 	         = 'HTML-тег H1';

 
Идем далее.
 
Пункт 4
 
Открываем admin/model/catalog/category.php
 
Ищем блок (приблизительно строка 14)


foreach ($data['category_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
		} 

 
Заменяем на


foreach ($data['category_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
		}

 
Ищем еще один такой же блок (приблизительно строка 72)


foreach ($data['category_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
		}

Заменяем на


foreach ($data['category_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
		}

Ищем строку


'meta_title'       => $result['meta_title'],

После нее вставляем


'meta_h1'           => $result['meta_h1'],

 
Открываем admin/model/catalog/product.php
 
Ищем блок (приблизительно строка 14)


foreach ($data['product_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
		}

Заменяем на


foreach ($data['product_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
		}

Ищем еще один такой же блок (приблизительно строка 139)


foreach ($data['product_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
		}

Заменяем на 


foreach ($data['product_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
		}

Ищем строку 


'meta_title'       => $result['meta_title'],

После нее вставляем


'meta_h1'           => $result['meta_h1'],

Идем дальше
 
Пункт 5
 
Открываем admin/view/template/catalog/category_form.tpl
 
Ищем блок


<div class="form-group required">
                    <label class="col-sm-2 control-label" for="input-meta-title<?php echo $language['language_id']; ?>"><?php echo $entry_meta_title; ?></label>
                    <div class="col-sm-10">
                      <input type="text" name="category_description[<?php echo $language['language_id']; ?>][meta_title]" value="<?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['meta_title'] : ''; ?>" placeholder="<?php echo $entry_meta_title; ?>" id="input-meta-title<?php echo $language['language_id']; ?>" class="form-control" />
                      <?php if (isset($error_meta_title[$language['language_id']])) { ?>
                      <div class="text-danger"><?php echo $error_meta_title[$language['language_id']]; ?></div>
                      <?php } ?>
                    </div>
                  </div>

После него вставляем


<div class="form-group">
                    <label class="col-sm-2 control-label" for="input-meta-h1<?php echo $language['language_id']; ?>"><?php echo $entry_meta_h1; ?></label>
                    <div class="col-sm-10">
                      <input type="text" name="category_description[<?php echo $language['language_id']; ?>][meta_h1]" value="<?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['meta_h1'] : ''; ?>" placeholder="<?php echo $entry_meta_h1; ?>" id="input-meta-h1<?php echo $language['language_id']; ?>" class="form-control" />
                    </div>
                  </div>

 
Открываем admin/view/template/catalog/product_form.tpl
 
Ищем блок


<div class="form-group required">
                    <label class="col-sm-2 control-label" for="input-meta-title<?php echo $language['language_id']; ?>"><?php echo $entry_meta_title; ?></label>
                    <div class="col-sm-10">
                      <input type="text" name="product_description[<?php echo $language['language_id']; ?>][meta_title]" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['meta_title'] : ''; ?>" placeholder="<?php echo $entry_meta_title; ?>" id="input-meta-title<?php echo $language['language_id']; ?>" class="form-control" />
                      <?php if (isset($error_meta_title[$language['language_id']])) { ?>
                      <div class="text-danger"><?php echo $error_meta_title[$language['language_id']]; ?></div>
                      <?php } ?>
                    </div>
                  </div>

После него вставляем


 <div class="form-group">
                    <label class="col-sm-2 control-label" for="input-meta-h1<?php echo $language['language_id']; ?>"><?php echo $entry_meta_h1; ?></label>
                    <div class="col-sm-10">
                      <input type="text" name="product_description[<?php echo $language['language_id']; ?>][meta_h1]" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['meta_h1'] : ''; ?>" placeholder="<?php echo $entry_meta_h1; ?>" id="input-meta-h1<?php echo $language['language_id']; ?>" class="form-control" />
                    </div>
                  </div>

 
Осталось еще немного :)
 
Пункт 6
 
Открываем catalog/controller/product/category.php
 
Ищем строку


$data['heading_title'] = $category_info['name'];

Заменяем на


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

Открываем catalog/model/catalog/product.php
 

Ищем строку 


'meta_title'       => $query->row['meta_title'],

После него вставляем


'meta_h1'           => $query->row['meta_h1'],

Открываем catalog/controller/product/product.php
 
Ищем строку


$data['heading_title'] = $product_info['name'];

Заменяем на


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

 
И последний необязательный Пункт 7 (так как возможно в вашем шаблоне уже прописан h1 в категориях)

 

Идем в папку со своим шаблоном (я например зайду в дефолтный) 

 

Открываем catalog/view/theme/default/template/product/category.tpl

 

Ищем строку


<h2><?php echo $heading_title; ?></h2>

Заменяем на


<h1><?php echo $heading_title; ?></h1>

На этом все :) Спасибо за внимание.

 

ps. Если у кого-то, что-то не работает, просьба писать сюда (в тему). Будем разбираться вместе :)

кто-то пробовал на опенкарт 3, работает? 

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


  • 6 months later...

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

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

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

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

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

Вхід

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

Вхід зараз

×
×
  • Створити...

Important Information

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