Obelon

[Решено] Замена текста в 'description' OpenCart 2.X.X

Рекомендуемые сообщения

Obelon    0

Наверняка у кого-нибудь возникала ситуация с подменой некоторых словосочетаний в описании товара. Здесь выкладываю суть проблемы и прошу помощи.

 

Ситуация следующая:

 

Товары подгружаются от донора посредством api и по задаче cron периодически обновляются.

В описании некоторых товаров присутствуют элементы слов, которые необходимо заменить.

 

Через sql запрос в виде UPDATE `название таблицы` SET `поле` = REPLACE(`поле`, 'старое слово', 'новое слово'); - все удачно меняется, но обновляемые периодически товары снова выводят прежний текст.

 

В данной теме вижу два решения вопроса:

1. Необходимость написания PHP скрипта, в котором сначала нужно подключиться к БД и только после подключения выполнять запрос UPDATE, но отсюда рождается следующий вопрос - будет ли "поспевать" задача скрипта своевременно изменять описание за постоянно подгружаемыми товарами?;

2. Выполнение скрипта в корневом файле, как полагаю этим файлом будет являться product.php в пути catalog/controller/product - в этом случае замена будет производиться сразу без интервалов времени;

 

Какие будут предложения по этому поводу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 099

>> Товары подгружаются от донора посредством api и по задаче cron периодически обновляются.

вот там и делай все изменения.

зачем что-то другое изобретать?..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Obelon    0

К сожалению не удается таким способом, вот запрос на внесение изменений в бд:

 

$this->db->query("DELETE FROM " . DB_PREFIX . "product_description WHERE product_id = '" . (int)$product_id . "'");
 
                foreach ($data['product_description'] as $language_id => $value) {
                    $query = "
                        INSERT INTO " . DB_PREFIX . "product_description
                        SET product_id = '" . (int)$product_id . "',
                            language_id = '" . (int)$language_id . "',
                            name = '" . $this->db->escape($value['name']) . "',
                            description = '" . $this->db->escape($value['description']) . "'";
                    print 'FILE: ' . __FILE__ . ' | LINE: ' . (__LINE__) . ' | $query = <pre>' . print_r($query, true) . "</pre><br>\n";
                    $this->db->query($query);
                }

 

где

description = '" . $this->db->escape($value['description']) . "'";
просто записывает поле с описанием товара от донора.

Там то мне и нужно заменить в самом описании словосочетание, а оно состоит из "текст ... искомое словосочетание...текст".

Изменено пользователем afwollis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 099

php.net -> str_replace

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Obelon    0

php.net -> str_replace

Благодарю! Сейчас ознакомлюсь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Obelon    0

Уважаемый afwollis! 

 

Благодарю Вас за помощь! Все замечательно работает без всяких задач в cron!  :eek: 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Похожий контент

    • От SergeTkach

      399.00 руб
      Скачать/Купить дополнение


      SEO Tags Generator — автогенерация SEO-тегов для OpenCart 2.x
      Модуль обеспечивает автоматическую SEO оптимизацию мета-тегов всех категорий и товаров, что имеет большое значение для SEO продвижения интернет-магазинов.

      Он избавляет Вас от лишней рутины при добавлении товаров. Модуль SEO Tags Generator делает работу с OpenCart2 проще и комфортнее, что приближает эту CMS к принципам дружелюбного к пользователю движка сайта.
       
      Сделав простую настройку 1 раз, Вы автоматически оптимизируете тысячи страниц 1 махом,по приемлемым для поисковых систему правилам.
       
      Модуль генерирует мета-теги на лету в момент формирования страницы, что исключает ошибки контент-менеджера в момент массовой работы с товарами (к примеру, импорт-экспорт).
       
       
      =============================================
      === Внимание! Условия покупки и использования ===
      =============================================

      Покупая данный модуль, Вы осознаете следующее:
      Автор  дает полную гарантию, что весь заявленный функционал будет работать на тех версиях системы, что заявлены с теми техническими характеристиками хостинга (сервера), что заявлены. В случае неработоспособности из-за ошибок в модуле, обязуется исправить ее в течение 3 рабочих дней. Лицензия выдается на 1 домен (+до 3 отладочных доменов). Во время акций, лицензии выдаются на несколько доменов, но никогда не выдается на бесконечное число доменов. Модуль содержит зашифрованные файлы, обеспечивающие контроль над лицензиями Вы отказываетесь от намерения запрашивать открытый исходный код зашифрованных файлов Модуль представляет собой типичное решение типичной задачи. Все индивидуальные запросы, которые меняют функционал модуля решаются в индивидуальном порядке с конкретным покупателем Вспомогательные модификаторы из папки "additional" являются бонусными. Они не входят в стоимость покупки. Гарантия на них не распространяется.  
       
      =====================================
       === Преимущества модуля ===
      =====================================
       
      Поддержка мультиязычности Автоматическое получение временной лицензии на 10 дней, чтобы Вы могли начать использовать модуль прямо сейчас без никаких простоев Примеры формул составления автоматические генерируемых метатегов прилагаются Модуль работает на специальных поддоменах для разработчиков без необходимости получать новые лицензии 1 формула для всех категорий и 1 формула для всех товаров, что идеально подходит для 90% интернет-магазинов без необходимости переплачивать за невостребованный функционал В версии 1.3 добавлены отдельные формулы для отдельных категорий (!!) Оптимальная цена  
       
      ===========================================
       === Функционал дополнительных расширений ===
      ===========================================
       
      Генерация SEO URL делается через родственный модуль — SEO URL Generator FREE Отмена ввода мета-тега title (в папке "additional" ) Ввод тега H1 (в папке "additional" ) Нумерация страниц в мета-тегах начиная со второй (в папке "additional")  
       
       
      =====================================
       === Как это работает? ===
      =====================================

      Модуль не записывает результат генерации тегов в базу данных!

      То есть, мета-теги формируются в тот же момент, когда формируется сама страница. Это происходит независимо, открыл ли ее человек или "парсит" поисковый паук (!).
      Кроме того, подход без перезаписи позволяет Вам применить формулу для всех товаров, загруженных ДО установки модуля.
       
      ---
      Генерация мета-тегов происходит в 2-ух режимах:
      - Если поле не заполнено
      - Принудительно (переопределение мета-тегов в тех случаях, когда Вы получили на руки магазин с уже неверно заполненным мета-тегами, что особенно актуально для seo-оптимизаторов)

      ---
      Внимание!
      При "разноперой" категории мета-теги для товара генерируются:
      - По главной категории товара, если она указана (!).
      - Если главная категория товара не обозначена, и при этом товар принадлежит только 1 категории, то по формуле этой категории.
      - Иначе генерация идет по общей формулей

       

      ===================================
      === Совместимость ===
      ===================================
      Работает на ветке 2.х начиная с версии OpenCart 2.1.0.1 (ocStore 2.1.0.1)
      PHP 5.4 или выше
      IonCube Loader 5 и выше
       
       

      ===================================
      === Демо версии 1.3 ===
      ===================================

      Демо витрины:
      Категория с общей формулой, Товар с общей формулой; Категория с отдельной формулой (Пример "разноперой" категории), Товар из "разноперой" категории
      Демо админки:
      http://seo-tags-generator-v-1-3.web-jump.in.ua/admin/ (!) Разрешено внесение изменений в настройки модуля, в товары и категорий (!) Логин/Пароль: demo/demo  


      ===================================
      ===  Демо версии 1 ===
      ===================================
      Демо витрины: Категория, Товар
      Демо админки: http://seo-tags-generator.web-jump.in.ua/admin
      Логин/Пароль: demo/demo


      =======================================
      === Примеры сайтов, где работает модуль: ===
      =======================================
      http://www.alpari.ua/
      www.sport-1.ru
      http://www.happylight.com.ua/
      https://adamant-spb.com/
      https://neroceramica.ru
      http://mastersnegir.ru/
      https://lovo.com.ua/
      shop.smartsf.ru
      http://viking-trans.com/
      http://www.palitra360.ru
      http://системы-доступа.рф/
      http://unclevova.com/
      http://makitarus.ru/
      http://olgashpiga.ru/
      http://www.pro-group.kh.ua/
      http://intensashop.ru/


      =======================================
       === Что зашифровано? ===
      =======================================
      Контроллер админки модуля Модель витрины, где происходит замена формул на тексты

      =====================================
       === Пробная версия ===
      =====================================
      Для пробы доступна ранняя версия модуля.

      Важно! После истечения срока временной лицензии пробной версии для совершения
      покупки, обращайтесь на тот сайт, где Вы нашли мой модуль, а не пишите в
      личных сообщениях на почту.

      Скачать пробную версию можно здесь — http://studio.web-jump.in.ua/download/seo-tags-generator/



      ===================================
      === Изменения ===
      ===================================
      /* V1.5
      ----------------------------------------- */
      - Добавлено наследование специфических формул от родительских категорий к дочерним категориям. Актуально и для товаров.
      - Появилась возможность для отдельно взятых категорий и товаров задать мета-описания вручную (галочка "Использовать вручную вписанные мета-теги для данного товара/для данной категории")
      - Модуль теперь можно устанавливать по FTP - установка перенесена из файла install.php в контроллер админки
      - Добавлена принудительная генерации мета-тега Keywords
       
      /* V1.4
      ----------------------------------------- */
      - Добавлен мета-тег Keywords
      - Добавлена совместимость с версией 2.0.3.1
      - Исправлен баг подключения дочерних файлов в admin/view/template/extension/module/seo_tags_generator.tpl
        Раннее, если модуль был модифицирован (к примеру, добавлена кнопка Apply), модуль не мог найти файл с формулами для отдельно взятых категорий
       
      /* V1.3
      ----------------------------------------- */
      - Наконец добавлены разноперые категории, как многие просили. То есть, для отдельно взятых категории можно задать свои шаблоны, тогда как остальные будут использовать общий шаблон генерации мета-тегов)

      - Для чистого OpenCart добавлены синонимы для модели товара и названия бренда (Синоним производителя пока что будет глючить на ocStore!)

      - Для чистого OpenCart добавлена нумерация страниц для пейджинации в категориях и производителях (page-number_v2.2-v2.3.ocmod.xml) - может конфликтовать с SEO мультиязык, где также есть подобный функционал.


      /* v1.2
      ----------------------------------------- */
      Версия не была опубликована, так как сразу же началась работа над следующей версией
      - Добавлена генерация мета-тегов для производителей


       
       
      Добавил SergeTkach Добавлено 03.04.2017 Категория SEO, карта сайта, оптимизация Системные требования PHP 5.4-5.6 с Ioncube Loader v5 или PHP 7.1 с Ioncube Loader v10 Сайт разработчика http://studio.web-jump.in.ua/ Старая цена Метод активации Автоматическая активация Ioncube Loader Требуется OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      Не проверялось  
    • От PaltonB
      Версия ocStore 2.3.0.2.3. , версия PHP: 5.6.30, MySQL 5.5.

      Нужен совет от экспертов:
      Информационная статья получилась внушительной, боле 50к символов, в основном за счет добавления html-тэгов. При сохранении OpenCart обрезает её. В БД полю "Описание" соответствует поле "description" в таблице oc_information_description с типом text (я так понимаю, длина поля 65535 символов, и это и есть камень преткновения). 

      Вопросы:
      Могу ли я в БД сам, вручную, изменить тип поля с text на MEDIUMTEXT? Если нельзя вручную, то как? Будет ли работать с этим OpenCart? Какие могут быть последствия этих действий? Может быть вы предложите другие варианты решения с длинной текста для информ.статей?  
      Заранее благодарен!
    • От SergeTkach
      Модуль обеспечивает автоматическую SEO оптимизацию мета-тегов всех категорий и товаров, что имеет большое значение для SEO продвижения интернет-магазинов.

      Он избавляет Вас от лишней рутины при добавлении товаров. Модуль SEO Tags Generator делает работу с OpenCart2 проще и комфортнее, что приближает эту CMS к принципам дружелюбного к пользователю движка сайта.
       
      Сделав простую настройку 1 раз, Вы автоматически оптимизируете тысячи страниц 1 махом,по приемлемым для поисковых систему правилам.
       
      Модуль генерирует мета-теги на лету в момент формирования страницы, что исключает ошибки контент-менеджера в момент массовой работы с товарами (к примеру, импорт-экспорт).
       
       
      =============================================
      === Внимание! Условия покупки и использования ===
      =============================================

      Покупая данный модуль, Вы осознаете следующее:
      Автор  дает полную гарантию, что весь заявленный функционал будет работать на тех версиях системы, что заявлены с теми техническими характеристиками хостинга (сервера), что заявлены. В случае неработоспособности из-за ошибок в модуле, обязуется исправить ее в течение 3 рабочих дней. Лицензия выдается на 1 домен (+до 3 отладочных доменов). Во время акций, лицензии выдаются на несколько доменов, но никогда не выдается на бесконечное число доменов. Модуль содержит зашифрованные файлы, обеспечивающие контроль над лицензиями Вы отказываетесь от намерения запрашивать открытый исходный код зашифрованных файлов Модуль представляет собой типичное решение типичной задачи. Все индивидуальные запросы, которые меняют функционал модуля решаются в индивидуальном порядке с конкретным покупателем Вспомогательные модификаторы из папки "additional" являются бонусными. Они не входят в стоимость покупки. Гарантия на них не распространяется.  
       
      =====================================
       === Преимущества модуля ===
      =====================================
       
      Поддержка мультиязычности Автоматическое получение временной лицензии на 10 дней, чтобы Вы могли начать использовать модуль прямо сейчас без никаких простоев Примеры формул составления автоматические генерируемых метатегов прилагаются Модуль работает на специальных поддоменах для разработчиков без необходимости получать новые лицензии 1 формула для всех категорий и 1 формула для всех товаров, что идеально подходит для 90% интернет-магазинов без необходимости переплачивать за невостребованный функционал В версии 1.3 добавлены отдельные формулы для отдельных категорий (!!) Оптимальная цена  
       
      ===========================================
       === Функционал дополнительных расширений ===
      ===========================================
       
      Генерация SEO URL делается через родственный модуль — SEO URL Generator FREE Отмена ввода мета-тега title (в папке "additional" ) Ввод тега H1 (в папке "additional" ) Нумерация страниц в мета-тегах начиная со второй (в папке "additional")  
       
       
      =====================================
       === Как это работает? ===
      =====================================

      Модуль не записывает результат генерации тегов в базу данных!

      То есть, мета-теги формируются в тот же момент, когда формируется сама страница. Это происходит независимо, открыл ли ее человек или "парсит" поисковый паук (!).
      Кроме того, подход без перезаписи позволяет Вам применить формулу для всех товаров, загруженных ДО установки модуля.
       
      ---
      Генерация мета-тегов происходит в 2-ух режимах:
      - Если поле не заполнено
      - Принудительно (переопределение мета-тегов в тех случаях, когда Вы получили на руки магазин с уже неверно заполненным мета-тегами, что особенно актуально для seo-оптимизаторов)

      ---
      Внимание!
      При "разноперой" категории мета-теги для товара генерируются:
      - По главной категории товара, если она указана (!).
      - Если главная категория товара не обозначена, и при этом товар принадлежит только 1 категории, то по формуле этой категории.
      - Иначе генерация идет по общей формулей

       

      ===================================
      === Совместимость ===
      ===================================
      Работает на ветке 2.х начиная с версии OpenCart 2.1.0.1 (ocStore 2.1.0.1)
      PHP 5.4 или выше
      IonCube Loader 5 и выше
       
       

      ===================================
      === Демо версии 1.3 ===
      ===================================

      Демо витрины:
      Категория с общей формулой, Товар с общей формулой; Категория с отдельной формулой (Пример "разноперой" категории), Товар из "разноперой" категории
      Демо админки:
      http://seo-tags-generator-v-1-3.web-jump.in.ua/admin/ (!) Разрешено внесение изменений в настройки модуля, в товары и категорий (!) Логин/Пароль: demo/demo  


      ===================================
      ===  Демо версии 1 ===
      ===================================
      Демо витрины: Категория, Товар
      Демо админки: http://seo-tags-generator.web-jump.in.ua/admin
      Логин/Пароль: demo/demo


      =======================================
      === Примеры сайтов, где работает модуль: ===
      =======================================
      http://www.alpari.ua/
      www.sport-1.ru
      http://www.happylight.com.ua/
      https://adamant-spb.com/
      https://neroceramica.ru
      http://mastersnegir.ru/
      https://lovo.com.ua/
      shop.smartsf.ru
      http://viking-trans.com/
      http://www.palitra360.ru
      http://системы-доступа.рф/
      http://unclevova.com/
      http://makitarus.ru/
      http://olgashpiga.ru/
      http://www.pro-group.kh.ua/
      http://intensashop.ru/


      =======================================
       === Что зашифровано? ===
      =======================================
      Контроллер админки модуля Модель витрины, где происходит замена формул на тексты

      =====================================
       === Пробная версия ===
      =====================================
      Для пробы доступна ранняя версия модуля.

      Важно! После истечения срока временной лицензии пробной версии для совершения
      покупки, обращайтесь на тот сайт, где Вы нашли мой модуль, а не пишите в
      личных сообщениях на почту.

      Скачать пробную версию можно здесь — http://studio.web-jump.in.ua/download/seo-tags-generator/



      ===================================
      === Изменения ===
      ===================================
      /* V1.5
      ----------------------------------------- */
      - Добавлено наследование специфических формул от родительских категорий к дочерним категориям. Актуально и для товаров.
      - Появилась возможность для отдельно взятых категорий и товаров задать мета-описания вручную (галочка "Использовать вручную вписанные мета-теги для данного товара/для данной категории")
      - Модуль теперь можно устанавливать по FTP - установка перенесена из файла install.php в контроллер админки
      - Добавлена принудительная генерации мета-тега Keywords
       
      /* V1.4
      ----------------------------------------- */
      - Добавлен мета-тег Keywords
      - Добавлена совместимость с версией 2.0.3.1
      - Исправлен баг подключения дочерних файлов в admin/view/template/extension/module/seo_tags_generator.tpl
        Раннее, если модуль был модифицирован (к примеру, добавлена кнопка Apply), модуль не мог найти файл с формулами для отдельно взятых категорий
       
      /* V1.3
      ----------------------------------------- */
      - Наконец добавлены разноперые категории, как многие просили. То есть, для отдельно взятых категории можно задать свои шаблоны, тогда как остальные будут использовать общий шаблон генерации мета-тегов)

      - Для чистого OpenCart добавлены синонимы для модели товара и названия бренда (Синоним производителя пока что будет глючить на ocStore!)

      - Для чистого OpenCart добавлена нумерация страниц для пейджинации в категориях и производителях (page-number_v2.2-v2.3.ocmod.xml) - может конфликтовать с SEO мультиязык, где также есть подобный функционал.


      /* v1.2
      ----------------------------------------- */
      Версия не была опубликована, так как сразу же началась работа над следующей версией
      - Добавлена генерация мета-тегов для производителей


       
       
    • От femmill
      Всем привет!
      Кто подскажет как вывести на страницу категорий описание товара с html тегами?
      <?php echo $product['description']; ?> выводит просто текст в абзаце, необходимо вывести с теми же тегами при заполнении товара.
      версия ocStore 2.3.0.2
    • От muha777
      Здравствуйте Друзья!
       
      1) Подскажите пожалуйста, если шаблонно добавить description для всех страниц, нормально это? (тоесть текст будет один а название категории и товара в описании будет отличаться)
      2) Если так можно, то сколько шаблонных текстов должно быть на сайт с 15 тыс товаром? (примерное хотя бы количество шаблонов и для каких страниц)
       
       
       
         
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу