Вы не зашли.
Собственно вопрос, наверное глупый, т.к. данные хранятся в файле plugdata.php, но все же
возможно сделать экспорт содержимого плагина ads с сайта1 (на котором стоит ngcms) на сайт2 (на котором тоже стоит ngcms) ?
Изменено vairus (2009-10-15 11:46:54)
Не в сети
\engine\includes\inc\extras.inc.php
Найти
$PLUGINS['config'] = unserialize($content);
$PLUGINS['config:loaded'] = 1;
Добавить после
if (file_exists(confroot.'plugdata_imp.php')) {
$imp = unserialize(file_get_contents(confroot.'plugdata_imp.php'));
$PLUGINS['config']['ads'] = $imp['ads'];
ksort($PLUGINS['config']);
pluginsSaveConfig();
@unlink(confroot.'plugdata_imp.php');
}
После, кинь в \engine\conf файл plugdata.php с переносимого сайта, переименовав его при этом в plugdata_imp.php
Изменено insider (2009-10-19 16:06:08)
Не в сети
vairus, настройки плагинов хранятся в файле plugdata.php (как ты правильно указал), на самом деле это обыкновенный PHP массив, но при сохранении он преобразуется функцией serialize() в то, что ты видишь в файле, а при чтении - функция unserialize() всё восстанавливает.
Вариант insider'а подойдёт, но за идею спасибо - буду добавлять механизм управления этими переменными в двиг и функции для экспорта/импорта. Такая задача действительно периодически встаёт.
Не в сети
\engine\includes\inc\extras.inc.php
Найти$PLUGINS['config'] = unserialize($content); $PLUGINS['config:loaded'] = 1;
Заменить на
if (file_exists(confroot.'plugdata_imp.php')) { $imp = unserialize(file_get_contents(confroot.'plugdata_imp.php')); $PLUGINS['config'] = unserialize($content); $PLUGINS['config']['ads'] = $imp['ads']; ksort($PLUGINS['config']); $PLUGINS['config:loaded'] = 1; pluginsSaveConfig(); @unlink(confroot.'plugdata_imp.php'); } else { $PLUGINS['config'] = unserialize($content); $PLUGINS['config:loaded'] = 1; }
После, кинь в \engine\conf файл plugdata.php с переносимого сайта, переименовав его при этом в plugdata_imp.php
гм, это как я понял изменения уже для новой версии движка, а как сделать для старой где нет строки Plugins['config'], там $EXTRA_CONFIG.
p.s. не рискую переводить пока проекты на новую версию, да и тяжело это будет сделать
Не в сети
vairus, почему тяжело?
Достаточно просто - шаблоны адаптируются минут за 20. Единственная проблема может быть в случае, если ты не-ЧПУ режим используешь, т.к. в новой версии остался только ЧПУ режим.
Не в сети
vairus, почему тяжело?
Достаточно просто - шаблоны адаптируются минут за 20. Единственная проблема может быть в случае, если ты не-ЧПУ режим используешь, т.к. в новой версии остался только ЧПУ режим.
тяжело, потому как на адаптацию уйдет больше чем 20 минут, а проектов уже очень много.
взять хотя бы ic.vc, все lastnews переделывать необходимо, плюс на одном сайте стоит не одна версия движка.
и так на каждом сайте...
Не в сети
vairus
Попробуй так:
\engine\includes\inc\extras.inc.php
Найти
$EXTRA_CONFIG = unserialize($content);
$EXTRA_CONFIG_loaded = 1;
Добавить после
if (file_exists(confroot.'plugdata_imp.php')) {
$imp = unserialize(file_get_contents(confroot.'plugdata_imp.php'));
$EXTRA_CONFIG['ads'] = $imp['ads'];
ksort($EXTRA_CONFIG);
extra_commit_changes();
@unlink(confroot.'plugdata_imp.php');
}
Затем кинь в \engine\conf файл plugdata.php с переносимого сайта, переименовав его при этом в plugdata_imp.php
Не в сети
vairus
Попробуй так:\engine\includes\inc\extras.inc.php
Найти$EXTRA_CONFIG = unserialize($content); $EXTRA_CONFIG_loaded = 1;
Добавить после
if (file_exists(confroot.'plugdata_imp.php')) { $imp = unserialize(file_get_contents(confroot.'plugdata_imp.php')); $EXTRA_CONFIG['ads'] = $imp['ads']; ksort($EXTRA_CONFIG); extra_commit_changes(); @unlink(confroot.'plugdata_imp.php'); }
Затем кинь в \engine\conf файл plugdata.php с переносимого сайта, переименовав его при этом в plugdata_imp.php
все сделал, ничего не происходит. поля ads не выводятся
Не в сети
vairus, тут согласен - структурка у тебя ой какая сложная на сайтах.
Но всё-таки было бы полезно постепенно переводить сайты на новую версию..
vitaly, знаю что полезно, уже проходили на другой cms. Думаю совет верный, буду не спеша переводить раздел за разделом.
Не в сети
У меня все переносится, что я делаю не так?
Проверь еще раз все шаги. В \engine\conf\ нужно положить файл plugdata_imp.php, после первой же загрузки сайта он удалится, при этом настройки плагина ads импортируются.
Не в сети
vairus, мы тут чуть подумали и у меня возник вопрос - ты файлы как скачиваешь с хостинга?
По FTP? А проверь-ка в каком режиме они качаются - binary или text? Если в текстовом, то есть огромная вероятность, что в процессе перекачки по FTP они были банально повреждены. Ибо конфигурационный файл плагинов несмотря на текстовый вид по сути является бинарником.
Не в сети
vairus, мы тут чуть подумали и у меня возник вопрос - ты файлы как скачиваешь с хостинга?
По FTP? А проверь-ка в каком режиме они качаются - binary или text? Если в текстовом, то есть огромная вероятность, что в процессе перекачки по FTP они были банально повреждены. Ибо конфигурационный файл плагинов несмотря на текстовый вид по сути является бинарником.
vitaly, никогда никаких проблем с скачкой по ФТП не было, тем более на прошлой неделе переезжал на новый хостинг.
Для работы с ФТП использую "CuteFTP 8 Professional", и там файлы качаются в режиме "автомат" программа сама выбирает в каком режиме какой файл качать (по идее)
плюс второй файл рабочий.
Не в сети