Итак, благодаря моей некоторой настойчивости в 1.10.3 появилась возможность работы с различными шаблонизаторами. Вследствие чего появилась возможность использовать PHP шаблоны. Этой записью я создаю новый тег: "php шаблон". Наглядно оценить преимущества PHP шаблона вы можете по графику нагрузки из панели хостинга:
2) Снижение нагрузки (видно по графику);
3) Отсутствие лишней программной ступени — компиляция;
4) Наивысочайшая скорость выполнения:
Время вывода модуля меню (в этот момент уже не происходит ничего, кроме собственно вывода модуля):
На 550% быстрее даже по сравнению со скомпилированным файлом!
Генерация главной страницы:
Напомню, что все скомпилированные файлы исчезают в одно мгновение при, например простой смене юзером шаблона на сайте через модуль. Также, если кто-то вдруг захочет вам немного насолить, то может автоматически как бы сменять шаблон, даже если модуль выключен и ваш хостинг/сервер может нечаянно прилечь.
Помимо этого, снижение нагрузки означает, что вы можете сэкономить на расходах на покупку более мощного (дорогого) места для размещения вашего сайта.
На форуме люди часто спрашивают, как им перенести вывод плагина, например куда нибудь в другое место. Долго ли до греха вы решите вывести содержание статьи в отдельном модуле в сайдбаре или ещё что нибудь в таком духе.
На этот случай имеется возможность назначить содержимое модулю ещё до вывода откуда угодно, главное, чтобы до вывода (display()).
У вас есть два варианта:
1. Присвоить значение во время назначения переменных для другого шаблона:
2. Либо вообще в любом месте через статичную альтернативу:
Как вы можете заметить, синтаксис аналогичен стандартному assign(), но появился третий параметр, в котором указывается, в каком именно файле выводить эту переменную.
Затем, вы можете, например, создать шаблон для модуля — module_somename.php, добавить в него эту переменную и создать модуль в админке с этим шаблоном. Готово! Аналогичным образом вы можете присвоить значение для переменной в плагине и вывести, например похожие статьи, где угодно. Можно ещё дальше пойти и поставить евент в функции display(), где будет возможность переназначить любою переменную, но это явно лишнее для обычного обывателя.
Стоимость услуги: от 500 рублей.
Если до сего момента вы делали вклады на R267380710141 и Z218725974703, то можете рассчитывать на дивиденды в виде 50% скидки.
Преимущества:
1) Так как во второй ветке инстанта будут использоваться именно PHP шаблоны — вам будет проще на неё мигрировать!);2) Снижение нагрузки (видно по графику);
3) Отсутствие лишней программной ступени — компиляция;
4) Наивысочайшая скорость выполнения:
Время вывода модуля меню (в этот момент уже не происходит ничего, кроме собственно вывода модуля):
Smarty: 0.0142 сек. - с компиляцией 0.0017 сек. - с временно закэшированным компилем PHP: 0.0003 сек - всегда
Генерация главной страницы:
Smarty (уже с кэшем): Время генерации страницы: 0.0672 с. Потребление памяти: 6,54 Мб PHP: Время генерации страницы: 0.0421 с. Потребление памяти: 5,75 Мб
Помимо этого, снижение нагрузки означает, что вы можете сэкономить на расходах на покупку более мощного (дорогого) места для размещения вашего сайта.
Плюшки!
В комплекте с шаблоном идёт модифицированный php шаблонизатор. В него включены все необходимые для вывода функции и имеется небольшая деталь, на которой я бы хотел остановиться.На форуме люди часто спрашивают, как им перенести вывод плагина, например куда нибудь в другое место. Долго ли до греха вы решите вывести содержание статьи в отдельном модуле в сайдбаре или ещё что нибудь в таком духе.
На этот случай имеется возможность назначить содержимое модулю ещё до вывода откуда угодно, главное, чтобы до вывода (display()).
У вас есть два варианта:
1. Присвоить значение во время назначения переменных для другого шаблона:
cmsPage::initTemplate('components', 'com_content_view')-> assign('pagetitle', $pagetitle)-> assign('имя переменной в шаблоне', 'содержимое', 'имя файла шаблона без расширения')-> assign('subcats', $subcats_list)-> display('com_content_view');
phpLokaTpl::assignS('имя переменной в шаблоне', 'содержимое', 'имя файла шаблона без расширения');
Затем, вы можете, например, создать шаблон для модуля — module_somename.php, добавить в него эту переменную и создать модуль в админке с этим шаблоном. Готово! Аналогичным образом вы можете присвоить значение для переменной в плагине и вывести, например похожие статьи, где угодно. Можно ещё дальше пойти и поставить евент в функции display(), где будет возможность переназначить любою переменную, но это явно лишнее для обычного обывателя.
Установка
Скачиваем архив, распаковываем в корень сайта (никакие файлы не заменяются), переключаем в админке шаблон — готово! Теперь можно потестить, пощупать, понюхать, поделиться в комментах впечатлениями или же найденными багами, сделать на нём свой шаблон (про копирайты шаблонизатора не забываем).Хотите себе такой шаблон?
Я предлагаю услугу по переводу вашего Smarty шаблона на PHP.Стоимость услуги: от 500 рублей.
Если до сего момента вы делали вклады на R267380710141 и Z218725974703, то можете рассчитывать на дивиденды в виде 50% скидки.
Реклама #
SpideR 11 лет назад #
picaboo 11 лет назад #
SpideR 11 лет назад #
picaboo 11 лет назад #
Я вот сильно репу почесал увидев внутренности шаблона. Никто не говорил что смарти это легко, на шаблон на пхп - это реально тяжко. Для тех у кого уровень выше среднего.
Fuze 11 лет назад #
Шаблон, написанный на чистом php априори будет работать гораздо быстрее. А при наличии высокой посещаемости здорово сэкономит ресурсы сервера.
reload 11 лет назад #
или добавить второй дефлотный на php)
Это так, к размышлениям, если будет желание)
reload 11 лет назад #
Типо, каменный век! никакой оптимизации!...
Студиям следует задуматься!) перед выпуском "новых" шаблонов)
picaboo, спасибо!
reload 11 лет назад #
picaboo 11 лет назад #
Убирать смарти нельзя, каждому по силам и по умению надо. И так большинство дальше "поменять ксс" не уходит, так как не осилить переверстку. Да даже вон некоторые студии не могут дальше морды переверстать на смарти, а вы хотите полностью на пхп перейти.
reload 11 лет назад #
Думал что тот кто со смарти может подружится тот и с php подружится - ноги ведь все рано от php растут)
picaboo 11 лет назад #
DeeMon 11 лет назад #
picaboo 11 лет назад #
oll 11 лет назад #
Спасибо lokanaft! Высший класс!
PS//В чем ажиотаж и боязнь шаблона на php? Глазами посмотрите на код , а головой вникните. Что smarty , что php , в чем проблема для верстальщика?
picaboo 11 лет назад #
было
и это на каждый чих.
lokanaft 11 лет назад #
oll 11 лет назад #
picaboo 11 лет назад #
r2 11 лет назад #
для
lokanaft 11 лет назад #
Def 11 лет назад #
lokanaft 11 лет назад #
picaboo 11 лет назад #
reload 11 лет назад #
Многим наверное на php будет проще перейти...
Хотя мне кажется что вопрос шаблонизатора, это наверное из сферы "религии" и наверное уже не один год идут обсуждения о целесообразности - что лучше, а что хуже...
В любом случае появившаяся гибкость очень к месту, для движка думаю это не маленький плюс...
lokanaft 11 лет назад #
lezginka.ru 11 лет назад #
lokanaft, спс за беспокойство о нас смертных :)
Майкл 11 лет назад #
Алексей Т 11 лет назад #
lokanaft 11 лет назад #
Fuze 11 лет назад #
Cтудия Sitestroi,
Димитриус 11 лет назад #
Но новичкам они отлично помогают. Да и проекты есть разного уровня.
Так, что я с Вами, Cтудия Sitestroi, не согласен.
Smith 11 лет назад #
Sonat 11 лет назад #
lokanaft 11 лет назад #
Sonat 11 лет назад #
lokanaft 11 лет назад #
stipp 11 лет назад #
Марат 11 лет назад #
Ну и большой плюс разработчикам системы за возможность использования собственного шаблонизатора.
Ну а php-шаблонизатор, это мечта. Быстрее пхп только чистый html )))
Надеюсь, воспользуюсь вашими наработками. Давно мечтал о шаблоне на пхп )
Денис Васильевич 11 лет назад #
Сергей Петрович 11 лет назад #
Медаль надо человеку выдать!! Или титул какой-нибудь!!!
eoleg 11 лет назад #
lokanaft 11 лет назад #
alfaclub 11 лет назад #
Т.е. маленькие есть, а на странице товара слева нету.
При редактировании они стоят, есть ссылка на фотку - сохраняю - нету!!!
Всё остальное вроде работает - спасибо.
lokanaft 11 лет назад #
alfaclub 11 лет назад #
Переключаю на пхп шаблон.
По пхп шаблону - список товаров в порядке http://www.shpulya.com/catalog/1003
Сам товар http://www.shpulya.com/catalog/item3.html фотки пропадают.
На сайте всё по дефолту - ждали обновлений...
alfaclub 11 лет назад #
lokanaft 11 лет назад #
alfaclub 11 лет назад #
Это только один "косяк"?
Использовать на "боевом" сайте уже можно?
lokanaft 11 лет назад #
alfaclub 11 лет назад #
Викторыч 11 лет назад #
Проверял на двух компах, под Денвером, устанавливал чистую 1.10.3, потом добавлял php-шаблон, результат один. При переключении на дефолтный вкладки в профиле появляются.
Поправим? )
lokanaft 11 лет назад #
Доходчиво? )
Викторыч 11 лет назад #
Reborn 10 лет назад #
Добавьте 'CBOX_SLIDESHOWSTOP', 'CBOX_SLIDESHOWSTART' и вкладки появятся? и colorbox заработает.
Тот есть в template.php это:
Reborn 10 лет назад #
Endroid 11 лет назад #
С приведенным дефолтным шаблоном заметил один баг - не раскрывается меню
lokanaft 11 лет назад #
Endroid 11 лет назад #
lokanaft 11 лет назад #
Vlad 10 лет назад #
Reborn 10 лет назад #
В \public_html\templates\_default_php_\modules\mod_polls.php
нужно убрать 2 пробела.