[Помогите] Установка SEO PRO для OpenCart v.1.5.1.3

Тема в разделе "OpenCart", создана пользователем Vor704, 1 авг 2013.

  1. Vor704

    Vor704

    Регистрация:
    2 июл 2013
    Сообщения:
    130
    Симпатии:
    25
    Здравствуйте. Поскольку до этого модуля руки правильно не складываются уже несколько дней, приходится спрашивать. Кому удавалось установить SEO PRO для OpenCart v.1.5.1.3. Нашел установку ТУТ. Но на первом пункту инструкции получается шляпа.
    Не могу выполнить следующий шаг поскольку у меня в базе чистого OpenCart v.1.5.1.3 уже есть product_to_category и там хранятся связи товаров и категорий. И после запроса
    Код:
    DROP TABLE IF EXISTS `product_to_category`;
    CREATE TABLE `product_to_category` (
      `product_id` int(11) NOT NULL,
      `category_id` int(11) NOT NULL,
      `main_category` tinyint(1) NOT NULL DEFAULT '0',
      PRIMARY KEY (`product_id`,`category_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
    связи затираются, что не подходит поскольку планирую ставить модуль на сайт где более 2000 товаров. Как правильно устанавливается этот модуль?

    АП. Это я чего не так делаю или просто иначе никак не получится?

    Продолжаю монолог. Проблема с перезаписью данных исчезла после изменения запроса.
    Код:
    DROP TABLE IF EXISTS `product_to_category`;
    CREATE TABLE `product_to_category` (
      `product_id` int(11) NOT NULL,
      `category_id` int(11) NOT NULL,
      `main_category` tinyint(1) NOT NULL DEFAULT '0',
      PRIMARY KEY (`product_id`,`category_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
    изменил на
    Код:
    ALTER TABLE product_to_category ADD main_category parametrs tinyint(1) NOT NULL DEFAULT '0'
    Для чего нужна main_category пока что не понятно, да и в инструкции вместо того что создастся "main_category" написали "category_id". ППЦ.

    Монолог продолжается, температура тела падает все быстрее. После того как "натестил" результат на левом сайте, установил модуль на рабочий сайт. Все работает несмотря на то что запрос к базе данных я "забыл" выполнить, хотя на тестовом материлось... Установил deadcow seo, он создал много позностей, но, как автоматически генерировать ссылки, теги, кейслова на кириллице?
     
  2. Vor704

    Vor704

    Регистрация:
    2 июл 2013
    Сообщения:
    130
    Симпатии:
    25
    Немного ошибся с запросом к базе данных. Должно быть так
    Код:
    ALTER TABLE product_to_category ADD main_category tinyint(1) NOT NULL DEFAULT '0'
    Кстати main_category скорее всего из версий более новых, под которые и был написан SEO PRO. Я так понимаю что интеграция под версию 1.5.1.3 была сделана не совсем правильно и main_category остался. Как убрать не знаю, времени разбираться нет, на работу это никак не влияет, просто появился еще одна строка с выбором категории в форме товара (можно выбрать только одну).

    Что касается того как автоматически генерировать ссылки, теги, кейслова на кириллице? Нашел на форуме тему Deadcow Title + Description, и SEO плюшки там похоже то что надо, но не совсем. Теги, кейслова на кириллице есть, ссылок нет. Написал в тему, может что ответят. Кроме того устанавливая Deadcow на ждите ошибок с seo_title, seo_h1. При этом ошибки будут как на странице с добавлением категории так и на странице с добавлением товара. Решается это добавлением строк seo_title, seo_h1 в базу данных и прописью в темпл файлах админпанели.

    Пошагово
    Код:
    ALTER TABLE product_description ADD seo_title varchar(255);
    ALTER TABLE product_description ADD seo_h1 varchar(255);
    ALTER TABLE category_description ADD seo_title varchar(255);
    ALTER TABLE category_description ADD seo_h1 varchar(255)
    

    Как то так. Ошибки должны пропасть но при сохранении товара\категории появятся новые, поэтому в
    /admin/view/template/catalog/category_form.tpl (например, строка 34):
    Код:
    <tr> 
    			  <td>SEO title</td> 
    			  <td><input name="category_description[<?php echo $language['language_id']; ?>][seo_title]" size="100" value="<?php echo isset($category_description[$language['language_id'] 
    ]) ? $category_description[$language['language_id']] 
    ['seo_title'] : ''; ?>" /> 
    			  </td> 
    </tr>
    <tr> 
    			  <td>H1 title</td> 
    			  <td><input name="category_description[<?php echo $language['language_id']; ?>][seo_h1]" size="100" value="<?php echo isset($category_description[$language['language_id'] 
    ]) ? $category_description[$language['language_id']] 
    ['seo_h1'] : ''; ?>" /> 
    			  </td> 
    </tr>
    /admin/view/template/catalog/product_form.tpl (например, строка 34):
    Код:
    <tr> 
    			  <td>SEO title</td> 
    			  <td> 
    			  <input type="text" name="product_description[<?php echo $language['language_id']; ?>][seo_title]" value="<?php echo isset($product_description[$language['language_id'] 
    ]) ? $product_description[$language['language_id']][ 
    'seo_title'] : ''; ?>" size="80"/> 
     </td> 
    </tr>
    <tr> 
    			  <td>H1 title</td> 
    			  <td> 
    			  <input type="text" name="product_description[<?php echo $language['language_id']; ?>][seo_h1]" value="<?php echo isset($product_description[$language['language_id'] 
    ]) ? $product_description[$language['language_id']][ 
    'seo_h1'] : ''; ?>" size="80"/> 
     </td> 
    </tr>
    
    Если после этих изменений ошибка останется, тогда нужно править
    /admin/model/catalog/category.php
    /admin/model/catalog/product.php
    Тема как поправить ТУТ.

    P.S. /admin/model/catalog/manufacturer.php лучше не заменять на тот что есть в Deadcow Title + Description, и SEO плюшки. Проблем не наберетесь с базой данных и manufacturer_form.tpl