Замена текста в 'description'

Тема в разделе "Общие вопросы", создана пользователем Obelon, 22 янв 2016.

  1. Obelon

    Obelon Новичок

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

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

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

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

    В данной теме вижу два решения вопроса:
    1. Необходимость написания PHP скрипта, в котором сначала нужно подключиться к БД и только после подключения выполнять запрос UPDATE, но отсюда рождается следующий вопрос - будет ли "поспевать" задача скрипта своевременно изменять описание за постоянно подгружаемыми товарами?;
    2. Выполнение скрипта в корневом файле, как полагаю этим файлом будет являться product.php в пути catalog/controller/product - в этом случае замена будет производиться сразу без интервалов времени;

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

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    это главный пункт. Если у вас обновление проходит быстро, то почему бы не создать еще одну задачу по обновлению описания, но позже.. т.е например через 10 минут от предыдущей.

    Ну и если у вас есть скрипт по постоянному обновлению, то и в него можно сразу и внедрить замену.
     
  3. Obelon

    Obelon Новичок

    Сообщения:
    6
    Симпатии:
    0
    День добрый! Со скриптом у меня как раз проблемы и в первом и во втором случаях.
    В первом случае создал задачу, указал путь к скрипту, но он не отрабатывает.
    Во втором случае не получается набросать рабочий скрипт, ну а проблем со вставкой не должно быть))
     
  4. Obelon

    Obelon Новичок

    Сообщения:
    6
    Симпатии:
    0
    Сам скрипт cron.php:
    Код:
    <?php
    
    $dbUser = 'user_base';
    $dbPass = 'pass_base';
    $dbName = 'name_base';
    
    if ($conn = mysql_connect("localhost", $dbUser, $dbPass)) {
        if (mysql_select_db($dbName)) {
            $result=mysql_query("UPDATE `название таблицы` SET `поле` = REPLACE(`поле`, 'старое слово', 'новое слово');");
            if (!$result) die(mysql_error()); else echo 'Yes UPDATE data';
        } else {
            echo 'No select db';
        }
    } else {
        echo 'No connect Base';
     
    Последнее редактирование: 22 янв 2016
  5. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    вручную отрабатывает ? Вы же понимаете что проблемы запуска из под крон это совсем не относится в движку!

    с этого и надо было начинать. Посмотрите на пример в теме!! http://forum.opencart-russia.ru/thr...-po-istechenii-sroka-spec-ceny.783/#post-4785
     
    Obelon нравится это.
  6. Obelon

    Obelon Новичок

    Сообщения:
    6
    Симпатии:
    0
    Уважаемый Ален! Благодарю за помощь в решении проблемы!)))