Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1801 Запросы на доработку ядра » Расширить работу locatePluginTemplates » 2010-12-11 21:22:25

Wolverine
Ответов: 8

Имеем пять блоков top_news_X, для каждого блока своя папка с шаблонами.

Соответственно locatePluginTemplates непригоден для автоматического получения пути к шаблону. Если в каталоге плагина это еще можно решить засунув все в skins и отправляя в параметре $skin имя блока, то с шаблонами в папке основного шаблона будет беда, так как функция жестко ищет в каталоге /plugins/$plugin.

Это можно обойти если в $plugin передавать 'top_news/'.$blockName, тогда с шаблонами в основном шаблоне будет ОК, но с шаблонами в каталоге плагина будет беда. От skins отказываемся.

Но и это можно обойти, если структуру шаблонов в каталоге плагина соорудить в виде /engine/plugins/top_news/top_news1/tpl/top_news.tpl

И оно в общем-то работает, если не считать, что я работаю со skins, которые для этого не предназначены, а также на деформированную структуру директории плагина (вместо того, чтобы создавать папки в tpl, я в корне делаю папки и в них папка tpl), что в общем-то выглядит через жопу.

Пока использую свою реализацию этой функции

function myLocatePluginTemplates($tname, $plugin, $localsource = 0, $blockName = '', $skin = '') {
	global $config;

	$tpath = array();
	foreach ($tname as $fn) {
		$fnc = (substr($fn, 0, 1) == ':')?substr($fn,1):($fn.'.tpl');
		if (!$localsource && is_readable(tpl_site.'plugins/'.$plugin.'/'.($blockName?$blockName.'/':'').$fnc)) {
			$tpath[$fn] = tpl_site.'plugins/'.$plugin.'/'.($blockName?$blockName.'/':'');
			$tpath['url:'.$fn] = tpl_url.'/plugins/'.$plugin.($blockName?$blockName:'');
		} else if (is_readable(extras_dir.'/'.$plugin.'/tpl/'.($skin?'skins/'.$skin.'/':'').($blockName?$blockName.'/':'').$fnc)) {
			$tpath[$fn] = extras_dir.'/'.$plugin.'/tpl/'.($skin?'skins/'.$skin.'/':'').($blockName?$blockName.'/':'');
			$tpath['url:'.$fn] = admin_url.'/plugins/'.$plugin.'/tpl'.($skin?'/skins/'.$skin:'').($blockName?$blockName:'');
		}
	}
	return $tpath;
}

#1803 Re: Страницы плагинов » top_news :: Популярные новости » 2010-12-11 19:38:53

Так если шаблонов для плагина нет в папке с шаблоном, то плагин берет их своего каталога, откуда ошибка появляется?

#1804 Re: Страницы плагинов » top_news :: Популярные новости » 2010-12-11 19:07:52

Не совсем понятно, что ты предлагаешь. Брать все стопицот шаблонов, которые находятся в папке templates, брать их main.tpl и проверять на наличие блоков, и это каждый раз при отработке плагина. Как-то не очень звучит smile

Это как бы задача администратора сайта создать один раз нужные папки с шаблонами, так можно докатиться до того, что если нет нужных шаблонов, то создавать их плагином smile Разве нет?

Единственное, что действительно интересно, это вынести в конфигуратор запрет на работу некоторых блоков в выбранных шаблонах, чтобы в том шаблоне, где мне вывод не нужен (например PDA  версия) плагин просто не заполнял эти переменные и тем самым не создавал некоторую нагрузку.

#1805 Re: Страницы плагинов » top_news :: Популярные новости » 2010-12-11 18:52:24

Trashcka пишет:

надо бы сделать, чтобы плагин не требовал наличия папок top_newsХ, если в шаблоне сайта не используется плагин

Требует он только тогда, когда включен плагин и у него в конфигурации есть минимум одна переменная, то есть когда он пытается взять шаблон для работы этой переменной и заполнить ее неким текстом. А выводит ее пользователь на сайте или нет это уже не его проблемы.

Trashcka пишет:

или используется другая папка top_newsХ, т.к. при использовании разных шаблонов это не гуд

Не понял про что ты.

#1806 Re: PHP/HTML/JS/CSS » Посоветуйте скрипт реферальной программы » 2010-12-11 01:27:50

Регистрацией занимается плагин авторизации, надо будет его немного изменить

#1807 Re: PHP/HTML/JS/CSS » Посоветуйте скрипт реферальной программы » 2010-12-11 01:12:51

У финансовых плагинов хорошая документация, на 30 минут изучения smile

#1808 Re: PHP/HTML/JS/CSS » Посоветуйте скрипт реферальной программы » 2010-12-11 01:05:50

Вот модуль для DLE, полностью открытый http://www.strblog.com/archives/90

Перенести код в NG дело нехитрое.

#1809 Re: Страницы плагинов » top_news :: Популярные новости » 2010-12-10 12:13:56

legenda, да-да-да, спасибо. Поигрался с блоками и сам увидел проблему. Перекачай архив с версией 0.9 из шапки

#1810 Re: Страницы плагинов » top_news :: Популярные новости » 2010-12-10 01:44:37

Ну раз это все, кто потестировал, то релиз. Потом не обижайтесь wink

[0.9] [2010-12-10]
* рекомендуемое обновление для версий 0.6+, починено что сломано ранее smile
  (для работы необходима NG CMS 0.9.2 695+)

#1812 Re: Страницы плагинов » top_news :: Популярные новости » 2010-12-09 11:43:46

0.9.2 нужна, обновленная до 695 ревизии. Ты на этой версии смотришь работу плагина или на 0.9.1?

#1813 Re: "А как сделать..." » Как указать переменные в java скрипте » 2010-12-09 02:14:31

Можно так (title = Заголовок вашего сайта : Категория : Новость 2, в общем title страницы)

<script type="text/javascript">jqsocial(location.href),encodeURIComponent(document.title))</script>

Или так (title= Только название новости)

<script type="text/javascript">jqsocial(location.href),encodeURIComponent('{title}'))</script>

#1814 Re: Страницы плагинов » top_news :: Популярные новости » 2010-12-09 01:25:29

Тестовая версия 0.9b, для ее работы необходим /engine/includes/news.php из http://trac2.assembla.com/ngcms/changeset/695 Также не забывайте сделать вкл/выкл плагина в админке.

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

Прошу нормально поиграться с этой версией, нет возможности, чтобы детально просматривать все варианты работы smile

#1815 Re: Страницы плагинов » top_news :: Популярные новости » 2010-12-08 18:36:04

Сам как думаешь, что я могу сказать? Выкладывай настройки всех блоков и подробно расписывай, что где не работает. Думаю это косяк последних обновлений,в связи новой фишкой движка буду переделывать работу, можешь просто подождать, но лучше подробно расписать, что я просил.

#1816 Re: "А как сделать..." » Как указать переменные в java скрипте » 2010-12-08 15:35:50

Ну title то 100% работает, а полная ссылка нет, поэтому и скрипт не отрабатывает. Посмотрю вечером.

#1817 Re: "А как сделать..." » Как указать переменные в java скрипте » 2010-12-08 14:42:55

http://ngcms.ru/docs/draft/docs/templat … l.tpl.html

название_статьи = {title}

http://ngcms.ru/docs/draft/docs/templat … t.tpl.html

{full-link} - ссылка на полную страницу новости

Не знаю только работает ли {full-link} в news.full.tpl, если нет, то можно допилить этот момент небольшим хаком или прям из JS получать URL через https://developer.mozilla.org/en/DOM/document.URL

#1818 Re: Страницы плагинов » tags :: Облако тегов » 2010-12-08 11:50:43

vitaly

1. это теперь в $SYSTEM_FLAGS['news']['db.categories'] будет храниться список категорий, к которым принадлежит новость? Спрашивается почему не ввести было это раньше, я во многих плагинах извращался с никому не нужными фильтрами sad http://ngcms.ru/forum/viewtopic.php?id=857

2. Было бы здорово, если такие нововведения где-то описывались, пусть одной строкой, типа есть такая возможность

#1820 Re: Флейм » Сайты для каталога примеров на сайт NG CMS » 2010-12-06 23:32:25

Евгений пишет:

Trashcka, верстка будет не моя, а стороннего человека

Мотороллер не мой! Я просто разместил объяву!!! lol

#1822 Re: Флейм » Сайты для каталога примеров на сайт NG CMS » 2010-12-06 21:57:22

Реквестирую Виталия в топик для высказывания мнения по этому вопросу,а то мужики не в курсе

#1823 Re: Страницы плагинов » LastTweets :: Последние твиты » 2010-12-06 10:47:05

Открой config.php, после

LoadPluginLang('lasttweets', 'config', '', '', ':');

добавь

global $lang; print_r($lang);

и посмотри наличие элементов [lasttweets:ххх], например [lasttweets:legend_general] Увидим подгрузились ли вообще языковые файлы.

Еще можно попробовать

function main(){
	global $tpl;

Заменить на

function main(){
	global $tpl, $lang;

#1824 Re: Релизы версий » Версия 0.9.2 Release » 2010-12-06 10:37:54

1. Проверить наличие \engine\plugins\uprofile\lib\uprofile.lib.php, включить/выключить плагин uprofile
2. Включить/выключить плагин comments

#1825 Re: "А как сделать..." » Как отключить обязательным заполнение заголовка? » 2010-12-06 10:32:08

\engine\skins\default\tpl\addnews.tpl

Найти

<td><input type="text" class="important" size="79" name="title" value="" tabindex="1" /></td>

Заменить на

<td><input type="text" class="important" size="79" name="title" value="1" tabindex="1" /></td>

Подвал раздела

Работает на FluxBB