С каждым обновлением движка дописываю персональные изменения в коде. Решил выложить некоторые из них, может кому-то будут интересны следующие мелкие доработки:
Поле гарантии для Яндекс.Маркет
У некоторых прайсовых агрегаторов и каталогов на подобие Яндекс.Маркета или Хотлайна имеется требование, чтобы каждый товар сопровождался атрибутом "гарантия". Для реализации этого параметра необходимо дописать несколько строк в файл /objects/Pricelist.php
Найти строки:
// читаем список незапрещенных на сайте и для экспорта в Яндекс.Маркет и незакрытых от чужих товаров $query = 'SELECT ' . $dbtable_prods . '.`category_id`, ' . $dbtable_prods . '.`model`, ' . $dbtable_prods . '.`pcode`, ' . $dbtable_prods . '.`url`, ' . $dbtable_prods . '.`url_special`, '
и добавить под ними:
. $dbtable_prods . '.`guarantee`, '
Затем найти строки:
// поправляем поля изображений if (isset($item->large_image) && ($item->large_image == '') && isset($item->small_image)) $item->large_image = $item->small_image; $this->db->products->unpack_images($item);
и добавить над ними:
// добавляем информацию о гарантии echo ' <warranty>' . $this->string_escape($item->guarantee, FALSE) . "</warranty>\r\n";
Модификация скрипта автозаполнения META-тегов
Автоматическое заполнение МЕТА-тегов в новых товарах - очень замечательная функция, когда товаров очень много и возиться с заполнением онных просто некогда. Но благодаря одинаковому описанию товаров одной линейки, отличающихся либо цветом, либо иным незначительным параметром, МЕТА-тег Description заполняется идентично на нескольких страницах. Это в свою очередь вредит SEO. Чтобы немного изменить МЕТА-описание товара, можно вначале добавить наименование товара, которое уникально, и таким образом избавимся от дублей.
Для этого нам необходимо исправить одну строку в файле /admin/design/common_parts/meta.htm
Строка 160. Дописать в строке name + ' - ' +
...
object.value = Generate_MetaDescription(name + ' - ' + text);
...
...
Исправление "бесплатной" доставки в заказах
В случае если вы осуществляете доставку в другие города, и для этого пользуетесь услугами соответствующих компаний, в способах доставки можно указать все эти компании. Так как тарифы на доставку меняются в зависимости от множества факторов, их точный расчет и включение в стоимость заказа не представляется возможным. И обычно в таких случаях указывается нулевая стоимость, плюс сопроводительный текст о том, что заказчик самостоятельно оплачивает услуги доставки при получении товара. И уже кажется что вопросов возникнуть не должно, но все же находятся клиенты, которые увидев в письме, подтверждающем заказ, надпись "бесплатно" напротив способа доставки, отнимают драгоценное время менеджеров, выяснением этого "спорного вопроса".
Нам не остается ничего больше, кроме как внести изменения в следующие файлы:
Страница заказа на сайте
/design/common_parts/order_htm.tpl
Строка 162. Убираем слово "бесплатно" и {else} перед ним:
...
{if $order->delivery_price > 0}
{($order->delivery_price * $currency->rate_from / $currency->rate_to)|string_format:"%1.2f"} {$currency->sign|escape}
{else}
бесплатно
{/if}
...
Шаблон письма о заказе
/admin/design/default/html/email_order_to_admin.htm
Строка 526. Убираем слово "бесплатно" и {else} перед ним:
...
{if $post->delivery_price > 0}
{($post->delivery_price * $currency->rate_from / $currency->rate_to)|string_format:"%1.2f"|replace:",":"."} {$currency->sign|escape}
{else}
бесплатно
{/if}
...