Теперь ближе к сути.
Для начала нам необходимо добавить дополнительное поле в таблицу cms_modules_bind назовем ее tpl тип поставим varchar длину 128 (это с запасом мало ли с каким названием попадется шаблон, а так хватило бы с лихвой 64 или 32) готовый запрос в базу такой не забываем менять префикс cms на свой:
Код PHP:
Далее нам необходимо отредактировать два файла /admin/applets/modules.php и /core/classes/page.class.php
ALTER TABLE `cms_modules_bind` ADD `tpl` varchar(128) NOT NULL;
В файле /admin/applets/modules.php:
находим строчку (где то 421я):
Код PHP:
меняем ее на:
$sql = "DELETE FROM cms_modules_bind WHERE module_id = $id";
Код PHP:
находим строчку (где то 427я):
$sql = "DELETE FROM cms_modules_bind WHERE module_id = ". $id ." AND tpl = '". $inConf->template ."'";
Код PHP:
меняем ее на:
VALUES ($id, 0, '{$position}')";
Код PHP:
находим строчку (где то 435я):
VALUES ($id, 0, '{$position}', '". $inConf->template ."')";
Код PHP:
меняем ее на:
VALUES ($id, $value, '{$showpos[$value]}')";
Код PHP:
находим строчку (где то 538я):
VALUES ($id, $value, '{$showpos[$value]}', '". $inConf->template ."')";
Код PHP:
меняем ее на:
VALUES ($lastid, 0, '{$position}')";
Код PHP:
находим строчку (где то 546я):
VALUES (". $lastid .", 0, '". $position ."', '". $inConf->template ."')";
Код PHP:
меняем ее на:
VALUES ($lastid, $value, '{$showpos[$value]}')";
Код PHP:
находим строчку (где то 594я):
VALUES (". $lastid .", ". $value .", '". $showpos[$value] ."', '". $inConf->template ."')";
Код PHP:
меняем ее на:
$sql = "SELECT id FROM cms_modules_bind WHERE module_id = $id AND menu_id = 0 LIMIT 1";
Код PHP:
находим строчку (где то 779я):
$sql = "SELECT id FROM cms_modules_bind WHERE module_id = ". $id ." AND menu_id = 0 AND tpl='". $inConf->template ."' LIMIT 1";
Код PHP:
меняем ее на:
$bind_sql = "SELECT * FROM cms_modules_bind WHERE module_id = ".$mod['id'];
Код PHP:
с этим файлом все теперь беремся за файл /core/classes/page.class.php
$bind_sql = "SELECT * FROM cms_modules_bind WHERE tpl='". $inConf->template ."' AND module_id = ". $mod['id'];
находим строчку (где то 365я):
Код PHP:
меняем ее на:Код PHP:
Ну вот и все вроде, главное делать последовательно сперва запрос в базу потом изменяем файлы и заливаем на сервер, для тех кто не менял указанные файлы прикладываю архив с уже измененными файлами (за основу были взяты файлы из версии 1.10.1). Скачать архив с измененными файлами
INNER JOIN cms_modules_bind mb ON mb.module_id = m.id AND mb.menu_id IN ($menuid, 0) AND tpl = '". TEMPLATE ."'
И ВНИМАНИЕ!!! Тестим сперва на локалке например с использованием Open Server и только потом ставим на рабочий сайт!
Для спонсоров )))
Офтоп
P.P.S. Еще чуть позже выставлю на продажу первую версию моего нового компонента Медиа Блоги