Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

ratso

Новичок
  
  • Posts

    5
  • Joined

  • Last visited

1 Follower

ratso's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

1

Reputation

  1. Погделюсь) <?php define('DS', DIRECTORY_SEPARATOR); define('APP_PATH', realpath(dirname(__FILE__)).DS); require_once APP_PATH.'config.php'; try { $db = new PDO("mysql:host=".DB_HOSTNAME.";dbname=".DB_DATABASE, DB_USERNAME, DB_PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); } catch (Exception $e) { echo $e->getMessage(); } $db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $exceptions = array(); foreach ($db->query('SELECT query from url_alias') as $row) { $path = $row['query']; preg_match("/^(.*)_id=(\d+$)/iU",$path,$matches); if ($matches[1] == 'category') $exceptions['category'][] = $matches[2]; elseif($matches[1] == 'vendor') $exceptions['vendor'][] = $matches[2]; else $exceptions[$matches[1]][] = $matches[2]; } //Резульиты $insert = array(); //Обход производителей foreach ($db->query('SELECT manufacturer_id as id,name from manufacturer') as $row) { if (!in_array($row['id'],$exceptions['vendor'])) $insert[] = array( 'query'=>'manufacturer_id='.$row['id'], 'keyword'=>slug($row['name']) ); } //Обход категорий foreach ($db->query('SELECT category_id as id,name from category_description') as $row) { if (!in_array($row['id'],$exceptions['category'])) $insert[] = array( 'query'=>'category_id='.$row['id'], 'keyword'=>$row['id'].'-'.slug($row['name']) ); } //Обход продуктов foreach ($db->query('SELECT product_id as id,model from product') as $row) { $insert[] = array( 'query'=>'product_id='.$row['id'], 'keyword'=>(strlen($row['model'])>0)?$row['id'].'-'.slug($row['model']):$row['id'] ); } //Обход новостей foreach ($db->query('SELECT news_id as id,title from news_description') as $row) { if (!in_array($row['id'],$exceptions['news'])) $insert[] = array( 'query'=>'news_id='.$row['id'], 'keyword'=>$row['id'].'-'.slug($row['title']) ); } //Обход инфо-страниц foreach ($db->query('SELECT information_id as id,title from information_description') as $row) { if (!in_array($row['id'],$exceptions['information'])) $insert[] = array( 'query'=>'info_id='.$row['id'], 'keyword'=>$row['id'].'-'.slug($row['title']) ); } $fields = array('query'=>PDO::PARAM_STR, 'keyword'=>PDO::PARAM_STR); foreach ($insert as $r) { echo "INSERT INTO `url_alias` (`query`,`keyword`) VALUES('{$r['query']}','{$r['keyword']}');<br />"; } //Slugify function slug($title) { $gost = array( "Є"=>"EH","І"=>"I","і"=>"i","№"=>"#","є"=>"eh", "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D", "Е"=>"E","Ё"=>"JO","Ж"=>"ZH", "З"=>"Z","И"=>"I","Й"=>"JJ","К"=>"K","Л"=>"L", "М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R", "С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"KH", "Ц"=>"C","Ч"=>"CH","Ш"=>"SH","Щ"=>"SHH","Ъ"=>"'", "Ы"=>"Y","Ь"=>"","Э"=>"EH","Ю"=>"YU","Я"=>"YA", "а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d", "е"=>"e","ё"=>"jo","ж"=>"zh", "з"=>"z","и"=>"i","й"=>"jj","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"kh", "ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"shh","ъ"=>"", "ы"=>"y","ь"=>"","э"=>"eh","ю"=>"yu","я"=>"ya","«"=>"","»"=>"","—"=>"-"," "=>"-", ")"=>"-","("=>"-","*"=>"-","&"=>"-","/"=>"-" ); $return = trim(strtr($title, $gost), '-'); $return = strtolower($return); $return = str_replace("--","-",$return); $return = preg_replace("![^\w\d\s-]*!iU","",$return); return $return; }
  2. Подскажи, пжлст, какие именно файлы нужно смотреть. Вигдел, как минимум, два файла с seo что-то им.
  3. Написал скрипт, который заполняет url_alias. С каилогом все Ок. Категории, производители и товары получают нужный URL, но разгдел Новости генерит сирый url. Хотя админка говорит, что они все снабжены псевдонимами, как я прописывал. Кэш в папке system листил. Что еещё допилить, чтобы новости тоже имели дружелюбный вид?
  4. хм, точно! псевдоним не везгде есть! Спасипотому что))Даой вопрос. Псевдоним вбивать одной строкой латиниэтот или движок сам разберет, что псевдоним "Akrilovaya vanna" должен быть "akrilovaya_vanna"?
  5. ocStore Version 0.0.7 Посивил это https://opencart-forum.ru/files/download/75-%D1%83%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D1%83%D0%B1%D0%BB%D0%B5%D0%B9-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-%D0%B8-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9/ вторая ссылка Категории рилииют, дубли устранились, но товары по прежнему вида index.php?route=product/product&path=126&product_id=1099 Как бы все это модифицировать, чтобы товары доже полулили "дружелюбные" ссылки? Нужна только латиница. Обновляться на потому чтолее свежую не вариант, т.к. предыдущий программист накрутил кучу костылей по мелочам и разобрать что и ггде было обновлено нереально(
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.