Дополнительное поле для названия товара
Добавлено: 30.11.2020, 18:59
V2.3.4
Добавил дополнительное поле перед названием товара, чтобы убрать переспамизицию страницы категории товаров.
На сайте (тематика хобби) представлены разнообразные сборные модели. Для SEO продвижения страницы товара необходимо полностью прописывать в названии "Сборная модель танка Т-64 " или "Сборная модель грузовика ЗиЛ-130" + имя бренда + артикул + масштаб, но при этом на странице категории товаров получается переспамизация слов "Сборная модель" и вида техники. К тому же при пролистывании страниц категорий товаров гораздо приятней для глаз просто "Т-64 + имя бренда + артикул + масштаб".
Удалось создать сам "префикс к названию", вывести его на странице товара, добавить в импорт.
Не могу сообразить как заставить работать Экспорт (добавляется название столбца, но самих данных нет)
Также остались проблемы с переводами.При сохранении в админке "префикса названия" и последующем переходе на вкладку другого языка с сохранением - во всех языках сохраняется последняя сохраненная версия.
Если кто знает, помогите с решением пожалуйста.
1. (SQL запрос) для создания в таблице ok_lang_products поля nfcat:
2. (SQL запрос) для создания в таблице ok_products поля nfcat:
3. В файле /backend/design/html/product.tpl
Перед {*Название элемента сайта*} вставляем:
4. В файлах:
/backend/lang/ru.php в самом конце вставляем строки:
/backend/lang/en.php в самом конце вставляем строки:
/backend/lang/ua.php в самом конце вставляем строки:
5. В /design/okay_shop/html/product.tpl кусок кода
меняем на
6. В C backend/core/ProductAdmin.php после строчки
добавить строчку
-------------------------------------------------------------------------------
7. В файле /api/Impot.php
после строки
добавляем строку
8. В файле /backend/ajax/export.php
после строки
добавляем строку
После строки
добавляем строку
9. В файле /backend/ajax/import.php
После
Добавляем
Добавил дополнительное поле перед названием товара, чтобы убрать переспамизицию страницы категории товаров.
На сайте (тематика хобби) представлены разнообразные сборные модели. Для SEO продвижения страницы товара необходимо полностью прописывать в названии "Сборная модель танка Т-64 " или "Сборная модель грузовика ЗиЛ-130" + имя бренда + артикул + масштаб, но при этом на странице категории товаров получается переспамизация слов "Сборная модель" и вида техники. К тому же при пролистывании страниц категорий товаров гораздо приятней для глаз просто "Т-64 + имя бренда + артикул + масштаб".
Удалось создать сам "префикс к названию", вывести его на странице товара, добавить в импорт.
Не могу сообразить как заставить работать Экспорт (добавляется название столбца, но самих данных нет)
Также остались проблемы с переводами.При сохранении в админке "префикса названия" и последующем переходе на вкладку другого языка с сохранением - во всех языках сохраняется последняя сохраненная версия.
Если кто знает, помогите с решением пожалуйста.
1. (SQL запрос) для создания в таблице ok_lang_products поля nfcat:
Код: Выделить всё
ALTER TABLE `ok_lang_products`
ADD `nfcat` text COLLATE 'utf8_general_ci' NOT NULL AFTER `name`;
2. (SQL запрос) для создания в таблице ok_products поля nfcat:
Код: Выделить всё
ALTER TABLE `ok_products`
ADD `nfcat` text COLLATE 'utf8_general_ci' NOT NULL AFTER `name`;
3. В файле /backend/design/html/product.tpl
Перед {*Название элемента сайта*} вставляем:
Код: Выделить всё
<div class="row">
<div class="col-xs-12 col-lg-6 col-md-10">
<div class="heading_label">
{$btr->general_nfcat|escape}</div>
<div class="form-group">
<input class="form-control" type="text" name="nfcat" value="{$product->nfcat}">
</div>
</div>
</div>
4. В файлах:
/backend/lang/ru.php в самом конце вставляем строки:
Код: Выделить всё
$backend_translations->general_nfcat = 'Префикс имени';
$backend_translations->import_field_nfcat = 'Префикс имени';
/backend/lang/en.php в самом конце вставляем строки:
Код: Выделить всё
$backend_translations->general_nfcat = 'Name prefix';
$backend_translations->import_field_nfcat = 'Name prefix';
/backend/lang/ua.php в самом конце вставляем строки:
Код: Выделить всё
$backend_translations->general_nfcat = 'Префікс ім’я';
$backend_translations->import_field_nfcat = 'Префікс ім’я';
5. В /design/okay_shop/html/product.tpl кусок кода
Код: Выделить всё
<h1 class="product_heading">
<span data-product="{$product->id}" itemprop="name">{$product->name|escape}</span></h1>
меняем на
Код: Выделить всё
<h1 class="product_heading">
<span data-product="{$product->id}" itemprop="name">{$product->nfcat|escape} {$product->name|escape}</span></h1>
6. В C backend/core/ProductAdmin.php после строчки
Код: Выделить всё
$product->name = $this->request->post('name');
добавить строчку
Код: Выделить всё
$product->nfcat = $this->request->post('nfcat');
-------------------------------------------------------------------------------
7. В файле /api/Impot.php
после строки
Код: Выделить всё
'name'=> array('product', 'name', 'товар', 'название', 'наименование'),
добавляем строку
Код: Выделить всё
'nfcat'=> array('префикс имени', 'name prefix'),
8. В файле /backend/ajax/export.php
после строки
Код: Выделить всё
'name'=> 'Product',
добавляем строку
Код: Выделить всё
'nfcat'=> 'Name Prefix',
После строки
Код: Выделить всё
$v['variant'] = $variant->name;
добавляем строку
Код: Выделить всё
$v['nfcat'] = $variant->nfcat;
9. В файле /backend/ajax/import.php
После
Код: Выделить всё
if (isset($item['name'])) {
$product['name'] = trim($item['name']);
}
Добавляем
Код: Выделить всё
if (isset($item['nfcat'])) {
$product['nfcat'] = trim($item['nfcat']);