Наверняка у кого-нибудь возникала ситуация с подменой некоторых словосочетаний в описании товара. Здесь выкладываю суть проблемы и прошу помощи. Ситуация следующая: Товары подгружаются от донора посредством api и по задаче cron периодически обновляются. В описании некоторых товаров присутствуют элементы слов, которые необходимо заменить. Через sql запрос в виде UPDATE `название таблицы` SET `поле` = REPLACE(`поле`, 'старое слово', 'новое слово'); - все удачно меняется, но обновляемые периодически товары снова выводят прежний текст. В данной теме вижу два решения вопроса: 1. Необходимость написания PHP скрипта, в котором сначала нужно подключиться к БД и только после подключения выполнять запрос UPDATE, но отсюда рождается следующий вопрос - будет ли "поспевать" задача скрипта своевременно изменять описание за постоянно подгружаемыми товарами?; 2. Выполнение скрипта в корневом файле, как полагаю этим файлом будет являться product.php в пути catalog/controller/product - в этом случае замена будет производиться сразу без интервалов времени; Какие будут предложения по этому поводу?
это главный пункт. Если у вас обновление проходит быстро, то почему бы не создать еще одну задачу по обновлению описания, но позже.. т.е например через 10 минут от предыдущей. Ну и если у вас есть скрипт по постоянному обновлению, то и в него можно сразу и внедрить замену.
День добрый! Со скриптом у меня как раз проблемы и в первом и во втором случаях. В первом случае создал задачу, указал путь к скрипту, но он не отрабатывает. Во втором случае не получается набросать рабочий скрипт, ну а проблем со вставкой не должно быть))
Сам скрипт 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';
вручную отрабатывает ? Вы же понимаете что проблемы запуска из под крон это совсем не относится в движку! с этого и надо было начинать. Посмотрите на пример в теме!! http://forum.opencart-russia.ru/thr...-po-istechenii-sroka-spec-ceny.783/#post-4785