Модуль Complete SEO Package Opencart v5.7.1

  • Автор темы Автор темы NeuroMax
  • Дата начала Дата начала
Может там за баллы два раза открыть нужно)
 
У меня на шаблоне upstore при установке версии 6.8.0 вечный редирект на товарах.

Изменил в модификаторе в /system/seo_package.ocmod.xml

со строки 507 по 517:

этот код
Код:
    <operation>
      <search><![CDATA[public function review() {]]></search>
      <add position="after"><![CDATA[
    // SEO Package - redirect non-ajax requests
    if($this->config->get('mlseo_redir_reviews') && !(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')) {
      header('HTTP/1.1 301 Moved Permanently');
      header('CSP-Redir: review', false);
      header('Location: ' . $this->url->link('product/product', 'product_id=' . $this->request->get['product_id']));
    }
      ]]></add>
    </operation>

на этот

Код:
<operation>
  <search><![CDATA[public function review() {]]></search>
  <add position="after"><![CDATA[
    // SEO Package - redirect non-AJAX full page requests (без зацикливания)
    if ($this->config->get('mlseo_redir_reviews')) {
      $is_ajax = !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest';
      $is_direct = isset($this->request->server['REQUEST_URI']) && strpos($this->request->server['REQUEST_URI'], 'route=product/product/review') !== false;

      if (!$is_ajax && $is_direct) {
        header('HTTP/1.1 301 Moved Permanently');
        header('CSP-Redir: review', false);
        header('Location: ' . $this->url->link('product/product', 'product_id=' . (int)$this->request->get['product_id']));
        exit;
      }
    }
  ]]></add>
</operation>
 
вот интересный момент в этом модуле, твиговских файлов нет, только тплки, и на тройке все работает. значит как то адаптирует тплки к тройке. кто то разбирался в этом ? и получается вообще можно в тройку тплки пихать вместо твига.
 
вот интересный момент в этом модуле, твиговских файлов нет, только тплки, и на тройке все работает. значит как то адаптирует тплки к тройке. кто то разбирался в этом ? и получается вообще можно в тройку тплки пихать вместо твига.

ФИЧА. Использование .tpl для версий opencart 3​

 
system/library/gkd_urlify.php можно настроить как угодно если в админке не осилили
подскажи как настроить урлы на английском ? в админке нечего такого не нашел, а разбираться в коде время жалко если есть готовое решение.
 
подскажи как настроить урлы на английском ? в админке нечего такого не нашел, а разбираться в коде время жалко если есть готовое решение.

Там надо включить во вкладке "конфигурация SEO" - в пункте меню "Варианты ключевых слов" , "Режим ASCII:" в самом низу для нужных языков, если правильно понял проблему
 
Последнее редактирование:
Попытался довести логику массового генератора тегов в SEO PACKAGE до ума.

В целом- у модуля отличный функционал генератора, но есть пара недостатков:

Нет [desc] для брендов, тег {limit} полностью сломан, нет отдельных лимитов для тегов кроме [desc], и тот обрезает слова посередине и т.д.




Что добавил\починил:

1) Добавил поддержку записи [name|N]

Теперь можно задавать лимит символов прямо в квадратном теге: [name|40].

Первое слово не режется на полуслове и не пропадает, если оно единственное или короткое. В конце- фраза обрезается после последнего полностью помещающегося слова.


2) Для desc такая функция была учтена по умолчанию, но обрезала фразу посередине слова

Починил обрезку по словам для [desc] и [desc|N]

Теперь [desc|155] режется по границам слов, а не по буквам.


3) Исправил подсчет кириллицы и HTML-сущностей в {limit:N}

Раньше правильно считались только латинские символы, а кириллица и сущности кавычек (&quot;, ») искажали длину и лимит.

Починил подсчет через mb_strlen с предварительным html_entity_decode.


4) Починил формат парсинга {limit:N}...{/limit}. Внутри тега могут использоваться другие теги и текст.

Исправил регулярное выражение в applyFunctions, теперь конструкции {limit:155}...{/limit} отрабатывают корректно.


5) Очистка CSS-стилей <style>, JS-скриптов и предотвращение слипания слов

Из [desc] вырезаются блоки <style>...</style>, <script>...</script> и комментарии со всем содержимым (раньше CSS-стили вылезали в текстах мета-тегов).

Закрывающие блочные теги (</h1>-</h6>, </p>, </div>, </td>) и переносы <br> заменяются на пробелы, чтобы слова не слипались


6) Добавил флаг :dots (две точки .. в конце при обрезке)

Формат {limit:155:dots} или [desc|155:dots] ставит .. в конец только при реальной обрезке, при этом итоговая длина с учетом точек вписывается в указанный лимит (153 символа + .. = 155)


7) Удаление висячих предлогов + кастомные исключения через :rem=word1,word2

Автоматически вырезаются оторванные предлоги и союзы в конце фразы (та, з, із, або, це, від, без, у, в, и, с, со, или, от, из, под и др.).

Добавил возможность передавать свои слова-исключения прямо в теге: {limit:155:dots:rem=купить,заказать} или [desc|155:dots:rem=акция,скидка].


8) Добавил поддержку [desc] для Производителей (Брендов)

В генераторе для производителей добавлена поддержка тегов [desc], [desc|N], с поиском описания по таблицам seo_manufacturer_description и manufacturer_description.




Файл положить в admin/model/tool/seo_package.php с заменой

Скрытое содержимое. Вам нужно войти или зарегистрироваться.
 
Там надо включить во вкладке "конфигурация SEO" - в пункте меню "Варианты ключевых слов" , "Режим ASCII:" в самом низу для нужных языков, если правильно понял проблему
не нашел ни одной вкладки про которые ты написал (((
 
Назад
Верх