PDA

View Full Version : как продублировать модуль?


sli
05.06.2007, 17:35
Скажите как продублировать модуль? Например content или еще что-то?

Astrix
05.06.2007, 21:56
копируете его в новую папку (обзовите ее как угодно), делаете дамп его табличек (без данных есессна) и в нем правите их названия - можно просто что-то добавить. главное, чтоб отличались от исходных.

предположим, что есть несколько таблиц:

nuke_table1
nuke_table2
nuke_table3

и мы переименовали их, например, так:

nuke_table_1
nuke_table_2
nuke_table_3

если у модуля нет админки, то просто открываем все php файлы модуля и зыпускаем в них поиск с заменой. ищем _table1 заменяем на _table_1 (символ "_", что идет после префикса, желательно тоже указывать, т. к. в тексте скрипта могут не только в запросах попасться слова table1 и т. п.), то же проделываем и для остальных таблиц.
сохраняем все это дело.
импортируем новые таблички в базу.
если все сделано правильно, то все будет нормально работать.

ну, а если у модуля есть еще и админка, то придется еще немного поизвращаться - после проведения вышеописанных манипуляций, в файлах админки нужно будет переименовать все функции, которые вызываются оператором switch (ну и в него естественно внести соответствующие изменения).

вроде все. кто что не понял - спрашиваем

sli
08.06.2007, 13:54
мне не понятно только: "делаете дамп его табличек (без данных есессна)" "импортируем новые таблички в базу"

Astrix
08.06.2007, 16:49
для кадого из действий:
заходите в PHPMyAdmin, выбираете свою БД а далее:

для "делаете дамп его табличек (без данных есессна)"

жмете Экспорт. Там выделяете таблички, принадлежащие нужному модулю (список слева сверху), а справа снимаете "птичку" у надписи Данные. то есть нужно получить SQL-запрос для создания в БД этих таблиц.

для "импортируем новые таблички в базу"
нажимаете SQL и вставляете в соответствующее поле измененный вами заблаговременно запрос. жмете "Пошел"