- это интересный и бесплатный парсер формирования бд по типу кинопоиска от автора модуля
создал для собственного пользования и поделился для всех.
Основное предназначение скрипта выполнять понятное перестроение списка актеров при использование модуля
"Биографии актёров1.2-1.5.2b" любого формата.
Пользуйтесь и если найдете ошибки, сообщите, чтобы улучшить пишите, исходники не кодированные.
Скрипт останавливается при переборе с ошибкой если в ячейке с актерами присутствует символ " ' "
2 варианта исправления.
1) и самый быстрый. скрипте поменять значение перебора на значение больше. С 100 например на 101 и нажать продолжение перебора.
2) Примерить запрос к Bd для удаления этого знака из имен актеров.
Вот запрос
UPDATE `dle_post`
SET `actors`= REPLACE(`actors`, ''', '');
этим же запросам можно удалять или заменять любые символы в столбце actors .
все сделал как было написано ничего не происходит просто пишет идет обработка, ждите...
Модуль замечательно, работает даже специально скопировал, все нужное прилагается (все работает).
Проверьте базу данных если скрипт работает, но не отображая значений.
Используйте следующий вариант
в engineajaxreactor.php замените строку
$config['http_home_url'] = explode("engine/ajax/rebuild.php", $_SERVER['PHP_SELF']);
на
$config['http_home_url'] = explode("engine/ajax/reactor.php", $_SERVER['PHP_SELF']);
Добавить этот файл engineajaxreactor.php, но а сейчас пишет 0 ошибка отправки
вот скрин в fullstory
Скорее всего у вас актеры в Дополнительных полях.
А скрипт работает с отдельными колонками actors
Вам скорее всего подойдет Вот этот перестраивать
создать в корне любой файл с разрешением .php и внести в него этот скрипт.
<?
$pole = "xf_zctors"; // Где xf_actors это доп поле в котором ранее содержался список актёров
define('DATALIFEENGINE', true);
define('LOGGED_IN', true);
define('ROOT_DIR', dirname (__FILE__));
define('ENGINE_DIR', ROOT_DIR.'/engine');
require_once ENGINE_DIR.'/classes/mysql.php';
require_once ENGINE_DIR.'/data/dbconfig.php';
require_once ENGINE_DIR.'/modules/functions.php';
$count = $db->super_query("SELECT count(*) as count FROM ".PREFIX."_post ");
$sql = $db->query("SELECT id, xfields FROM ".PREFIX."_post LIMIT 0,{$count['count']}");
$xfields = xfieldsload();
while ($row = $db->get_row($sql)){
$xfieldsdata = xfieldsdataload( $row['xfields'] );
//die(print_r($xfieldsdata));
foreach (explode(", ", $xfieldsdata[$pole]) as $key => $name) $name != '' ? $actors_array[totranslit($name)] = $name: true;
$actors_list = serialize($actors_array);
$db->query("UPDATE ".PREFIX."_post SET actors='{$actors_list}' WHERE id='{$row['id']}'");
}
echo "Конвертирование данных успешно выполнено. Удалите файл <b>convertxf.php</b> из папки с сайтом!!!";
?>
Он формирует из дополнительного поля актеров в колонку actors, но я его не тестировал так как у меня сайт без них.
Это модуль формирования списка актеров из обычных имен для модуля Биография актеров.