Не знаю было или нет, но на всякий случаю выложу инструкцию для добавления 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. Если у кого-то, что-то не работает, просьба писать сюда (в тему). Будем разбираться вместе :)