ща немного подробнее о чем речь:
Интересует метод создания шаблона с ноля (абсолютно пустого и чистого шаблона).
Как создаются шаблоны я представляю, но есть ли возможность чистого создания.
По чистым созданием имею ввиду:
1. Создаем новый шаблон (создаем папку newtpl в папке с шаблонами), отключаем вывод всего на главной странице, т.к. шаблоны вывода еще отсутсвуют
2. Создаем в нем main.tpl.php (не подключаем в нем ничего. у нас чистый шаблон, еще не успели дальше сделать) в <body> выводим просто например "Привет я шаблон"
3. Переключаем шаблон в админке на пустой новенький.
4. Открываем главную страницу — видим "Привет, я шаблон"
переходим в админку ...
… и понеслась ...
5. оказывается админка то у нас в шаблоне а файлов ее в новом шаблоне нет… картинки из нее и т.д.
вот и приходится чтобы создать новый шаблон, копировать дефолт переименовывать и переделывать.
p.s. просто мне нужно сделать крайне чистый шаблон без любых имеющихся примочек, картинок стилей скриптов и т.д.
хочу, чтобы в новом шаблоне не было ничего напоминающего о старом шаблоне (админку оставляем как есть)
1. Создаю папку нового шаблона (не трогая дефолт)
2. Создаю файл main.tpl.php
3. Включаю новый шаблон в админке.
И проблем никаких нет, за исключением отсутствия языковых констант. Поэтому нужно еще файлик шаблона в языки добавить, с содержанием из дефолтного.
Может конечно в 2.3.0 что изменилось...
P.S. или я уже не понмю, давно последний раз шаблоны делал))
2. Создаю main.tpl.php в нем пишу "привет ворлд"
3. Меняю шаблон в админке
4. Открываю главную, а там "привет ворлд" (вроде все ок)
4. Админку открываю там все страницы пустые, скрипты не подключены и т.д.
да и до этого так былоМожет конечно в 2.3.0 что изменилось...
Вроде все пашет. И в 2.3.0 на отсутствие языковых констант не ругается
вот примерно об этом и вопросА если добавить туда еще файл admin.tpl.php и папку js?
Вроде все пашет. И в 2.3.0 на отсутствие языковых констант не ругается
? что нужно взять в свой пустой шаблон, чтоб система была работоспособной. какой минимальный набор файлов папок и скриптов должен быть в новом шаблоне ?
если так то какой смысл создавать в каждом новом шаблоне одни и те же файлы использующиеся в одной админке
а если 50 шаблонов на сайте… мусор однако
Хотя по js и css было бы прикольно, если бы система проверяла наличие файлов и в текущем шаблоне, и в случае отсутствия в дефолтном.
думаю надо определить абсолютный минимум и от него уже "плясать" для новых шаблоновчтобы всякие табы там
надо ли иметь в своем шаблоне js комментарием или какого другого компонента если в своем шаблоне не предусмотрено их использование
Я думаю что нет.Хотя не известно как прописан путь подключения скриптов и css (на дефолт или нет). А все скрипты админки начинаются на admin-, ну плюс к этому jqueryнадо ли иметь в своем шаблоне js комментарием или какого другого компонента если в своем шаблоне не предусмотрено их использование
Все равно надо что то еще выщипывать. Открыл админку, посмотрел какие js цепляет из шаблона, золил их и все равно не выводит данные на странице админки.Я думаю что нет.Хотя не известно как прописан путь подключения скриптов и css (на дефолт или нет). А все скрипты админки начинаются на admin-, ну плюс к этому jquery
На вскидку вот что пишет консоль на первой же странице админки. Это при всех скопированных в свой шаблон файлах js
Uncaught TypeError: Cannot read property 'length' of undefinedicms.datagrid.$.rowsLoaded @ datagrid.js:265(anonymous function) @ datagrid.js:246x.Callbacks.c @ jquery.js:3x.Callbacks.p.fireWith @ jquery.js:3k @ jquery.js:5x.ajaxTransport.n.send.r @ jquery.js:5 datatree.js:7 1:36:50.758 - bind(x.Event): dtnode: Class.create, error: TypeError: Cannot read property 'msie' of undefined(…) datagrid.js:265 Uncaught TypeError: Cannot read property 'length' of undefined
client denied by server configuration: /var/www/***/data/www/***.ru/templates/clear/js, referer: http://***.ru/admin/content
А может среди них есть и те что не используются в админке?Это при всех скопированных в свой шаблон файлах js
Копировать всю папку, переделывать, переверстывать, добавлять свои стили.
А то что не используется уже в новом шаблоне почему то и будет всегда мертвым грузом лежать.
А папка дефолта не много не мало два с хвостом мегабайта весит. Прибавляем сюда своих 5-10 нового шаблона. Потом удивляемся куда место на диске давается.
Да и при обновлении icms думаю легче обновить только свои файлы и не трогать дефолтные. (тут думаю найдутся несколько человек, которые предложат записывать на бумашку названия файлов которые меняли в своем шаблоне)
$this->addJS($this->getJavascriptFileName('jquery'));
Сейчас уже точно не помню, но нужны были main.tpl.php и admin.tpl.php
Папку с js пришлось скопировать. Шаблон вывода виджета. Картинки тоже — иначе в админке было пустовато. Кстати последнее не обязательно, но если переделывать иконки на свои, будет очень много работы. В админке многое привязано к классам ссылок, типа add. Там с помощью Js меняются параметры ссылок.
У меня переделанное ui/menu. Так меню над списком в админке стало работать некорректно. Оказывается, в admin.js есть много чего, что обращается к классам.
Но по сути, все правильно сказано выше.
Достаточно скопировать в свой шаблон несколько базовых файлов, js скрипты, пару иконок (для области виджетов в админке). Инстант будет тянуть остальное из дефолта, по возможности.
Пример:
$this->addJS('templates/default/js/jquery-ui.js');
В идеале, не помешает проверка на наличие файла в своём шаблоне.
В идеале, я уже написал, как надо подключать файлы js с проверкой наличия файла в своём шаблоне и при отсутствии онного, брать в дефолте.В идеале, не помешает проверка на наличие файла в своём шаблоне.
Это да. Но при установке новых дополнений все устанавливается в default. Нужно тогда сам процесс инсталяции новых дополнений дорабатывать, чтобы все файлы шаблона копировались в установленный по умолчанию шаблон. Но опять же, решил пользователь сменить шаблон и все полетело). Придется вручную все недостающие файлы переносить в новый шаблон.Лучше б вместо default было {$this->name}. Думаю, тогда б можно было обойтись без папки с дефолтным шаблоном вообще.
В идеале, ещё и с проверкой на наличие файла в своём шаблоне.