Показаны сообщения с ярлыком cscart. Показать все сообщения
Показаны сообщения с ярлыком cscart. Показать все сообщения

суббота, 8 октября 2011 г.

CS-cart нормальные SEO url для русского языка

Cs-cart отличный скрипт интернет-магазина,  и SEO модуль там неплохой, но вот из-коробки он не умеет делать транслит русского языка. Т.е если название товара у нас на русском то он сгенерирует нам какой то бредовый урл, его потом конечно же можно изменить ручками, но кому это нужно, если это достаточно легко исправить.
Ищем /addons/seo/func.php

Там ищем функцию function fn_create_seo_name(
в ней комментируем строку $_object_name = fn_generate_name($object_name);
т.е делаем что бы стало так #$_object_name = fn_generate_name($object_name);
и под ней  добавляем

        $url = translitIt($object_name);
        $_object_name = preg_replace('/[^A-Za-z0-9_\-]/', '', $url);

Теперь необходимо в этот файлик добавить саму функцию  translitIt.
Давайте опустимся в самый низ файлика и перед ?>
Добавим нашу функцию


function translitIt($str)
{
    $tr = array(
        "А"=>"a","Б"=>"b","В"=>"v","Г"=>"g",
        "Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i",
        "Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
        "О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",
        "У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch",
        "Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
        "Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b",
        "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
        "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
        "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
        "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
        "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
        "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
        " "=> "-", "."=> "", "/"=> "_"
    );
    return strtr($str,$tr);
}


саму функцию транслита можете взять любую другую, которая вам больше по нраву, но принцип то вы поняли :)

четверг, 29 сентября 2011 г.

MySQL: UPDATE вместе с JOIN

Рассмотрим на примере, запрос к базе CS Cart, если кому любопытно

UPDATE `cscart_products_categories` c // таблица в которой нам необходимо произвести обновление 
 LEFT JOIN cscart_product_features_values v  ON c.product_id=v.product_id  //Присоединяем другую таблицу
SET c.category_id=181 // а вот уже и то что нам нужно обновить
WHERE v.variant_id=2886 AND c.category_id=114 //условия