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

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

Вы не зашли.

#126 Re: Тестирование версий » FixPack #01 для NGCMS версии 0.9.1 » 2010-01-30 01:01:43

Trashcka, я о css стилях, которые были прописаны, трудно разгребать всю css в поисках всех стилей для конкретного плагина, приходится использовать Firebug )
На мой взгляд пакет "по-умолчанию" нужно сделать предельно понятным (добавлением комментариев к группам css стилей для сайта, плагинов, ошибок.), а в описание плагинов кидать исходники темплейтов и css этих плагинов. ) + ту самую одну переменную. Вот и всё )

Но это всё фигня, меня больше интересует генератор карты сайта, битые ссылки в rss и то, что я отписал в другой теме smile

Опять таки, зачем?, ведь в документации получится тоже самое, что и в самом шаблоне плагина, это если делать все как ты хочешь.

На самом деле я имел ввиду не копию шаблонов со всеми их табличными заборами, а все переменные вида {tatata}, JS скрипты и css стили.

#127 Re: Тестирование версий » FixPack #01 для NGCMS версии 0.9.1 » 2010-01-29 22:23:33

Wolverine, оох, ну и дела

Ошибка синтаксического анализа XML: элемент не найден
Адрес: http://legend.zxs.ru/news/plugin/gsmg/
Строка 1, символ 1:
^

Попробовал так зайти: http://legend.zxs.ru/news/engine/plugins/gsmg/gsmg.php та же фигня..
не понятно smile))

Насчет плагинов - смысл в том, что нужна документация с подрубаемыми стилями и тегами классов всяких, которые используются для их подключения. + шаблоны должны быть как то разбиты, либо в две партии даваться - голый шаблон сайта + шаблон с поддержкой таких то плагинов.

Просто я например всё вырезал, и приходится из исходников выкавыривать куски для поддержки плагина, если мне нужно подключить его.. А очень хотелось бы исходный код плагина со стилями по-умолчанию видеть в документации по плагину..

#128 Re: Тестирование версий » FixPack #01 для NGCMS версии 0.9.1 » 2010-01-29 12:27:51

Так же генерируется кривая ссылка: http://legend.zxs.ru/news/news/plugin/feedback/?id=1

+вопрос - можно ли в поле выбора создавать серенькие поля, которые нельзя будет выбрать? smile
И еще, возможно ли настроить ссылку? Вот к такому виду ее привести бы: http://site.ru/news/feedback~1/ или к такому: http://site.ru/news/feedback/1/ А лучше такому http://site.ru/feedback~1/  (при том, что двиг лежит в каталоге news)


Не хотите сделать для плагина вот такие формы?
Вопсчем, предлагаю фикс, который будет убирать значения по-умолчанию при клике по ним.
Вносится в файл шаблона site.form.row.tpl
Заменить

<input style="width:300px;" type="text" name="{name}" value="{value}"/>

На

<input style="width:300px;" type="text" onFocus="javascript:if(this.value == '{value}') this.value='';" name="{name}" value="{value}"/>

Это всё клево, но при наличии значения по умолчанию в текстовом поле проверка не работает, тк она бракует пустые валуи.. А как воткнуть туда тег, у меня пока не выходит разобраться smile

#129 Re: Тестирование версий » FixPack #01 для NGCMS версии 0.9.1 » 2010-01-29 12:08:00

Обновился до  Changeset [523], явных проблем нет, только rss генерирует криво ссылки.
Двиг лежит в каталоге /news/, в .htaccess каталог прописан.

http://legend.zxs.ru/news/rss.xml  - вот результат генерации ссылок: http://legend.zxs.ru/news/news/2010/01/28/start_news/

В конфигурации активны следующие плагины:
auth_basic              0.17         
auth_punbb            0.05
comments     User      0.02
gsmg                     0.05 - где ссылку на генерируемую карту сайта посмотреть можно?? )
rss_export          0.11
uprofile                 0.01
wpinger                 0.01

В main.tpl у меня включено следующее:

<link href="{tpl_url}/style.css" rel="stylesheet" type="text/css" media="screen" />
<link href="{home}/rss.xml" rel="alternate" type="application/rss+xml" title="RSS" />
<script type="text/javascript" src="{admin_url}/includes/js/functions.js"></script>
<script type="text/javascript" src="{admin_url}/includes/js/ajax.js"></script>
[sitelock]
<div id="loading-layer"><img src="{tpl_url}/images/loading.gif" alt="" /></div>
{personal_menu}
{search_form}
{mainblock}
[/sitelock]

Всё остальное обрезано за ненадобностью и невозможностью использования заборной верстки в моём дизайне big_smile

На мой взгляд оптимально - это прилагать к любому плагину необходимые стили и классы с документацией по установке для его подключения к шаблону, ане адаптировать шаблон под все существующие. yikes
Вот например, если мне не нужен rss, зачем у меня в строке браузера будет гореть активная иконка rss? А если нужен - неужели я поленюсь вставить одну строчку кода в хедер? lol))

#130 Re: Запросы на доработку ядра » Подключение "левых" .tpl в шаблон + пара багов и предложений » 2010-01-28 18:58:43

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

А если эта система будет развита, то я смогу без труда весь сайт под cms загнать подключая свои шаблоны.
Дробить приходится, в моём случае, так как я подключаю на разных страничках разные скрипты, использую разные тайтлы итп. Вопсчем по мере необходимости, стараюсь оптимизировать сайт, урезая всё "лишнее".

#131 Запросы на доработку ядра » Подключение "левых" .tpl в шаблон + пара багов и предложений » 2010-01-28 18:09:44

mittus
Ответов: 2

В данный момент для этого приходится применять пхп инклуид, дырявя при этом систему, чтобы она могла обрабатывать пых в своих tpl шаблонах.

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

Это будет весьма удобным и полезным расширением ядра NG cms. Как говорится, предусматривать нужно всё, а NG cms самая предусмотрительная из тех, что я когда-либо встречал. Баги - мелочи, но ядро очень гибкое. )

Баги и пожелания:

1. Если cms устанавливается не в корень сайта, а в каталог, то в настройках ЧПУ приходится вручную забивать к каждому пункту /имя_каталога/. - мелочь )

2. Форма регистрации (auth_basic) - мессаги о неправильно введенных формах не выводятся, кроме капчи. + неправильно введенная капча подсвечивается зеленой галочкой.

3. Комментарии.
3.1 Гости могут использовать логины зарегистрированных пользователей. хотя проверку одинаковых мэйлов можно включить wink Я вообще сделал вот так: http://legend.zxs.ru/news/ (гостям не нужно ничего вводить кроме капчи, в комментариях их единый логин "Гость", обязать вводить мэйл при-этом тоже можно, просто мне не нужно было.)

3.2 Листинг - жесть smile)) Предлагаю подгружать странички аяксом. Комментарии не особо важны для индексации, а тем-более пользователю cms можно предоставить право выбора листинга.

3.3 Кнопка "ответить". Предлагаю разбить на две кнопки:
а) "Редактировать" - ведет туда-же, куда в данный момент ведет кнопка "ответить".
б) "Ответить" - открывает JS форму с полем в одну строчку, куда вводим текст и жмем "Ок".

3.4 Кнопка "Удалить" - эх если-бы аяксом удаляла без переходов на страничку ID комментария, хотя это не глобальная проблема ) Но как вариант - можно сделать так, чтобы комментарий не удалялся, а весь его текст замещался фразой "Удалено модератором Вася". А удалять полностью комментарии уже через интерфейс админки.

4. Журналист не должен быть способен редактировать свои новости, которые опубликованы редактором, заливать файлы и изображения на сервер. ) Хотя 1,2,3 можно было бы включать в настройках..

Вроде пока всё из того, что заметил.. И да, за utf-8 будущее!!

#132 Re: "А как сделать..." » обязательный параметр mail в комментариях для не зарегистрированных » 2010-01-28 06:24:39

Реализовал.. Если кому интересно, прилагаю инструкцию (Администраторы cms, поправьте меня, если я где накосячил):
1. добавляем в файл
...engine/lang/russian/site/comments.ini

guest		=	"Гость"

...engine/lang/english/site/comments.ini

guest		=	"Guest"

2. редактируем файл ...engine/plugins/comments/inc/comments.add.php
Комментируем следующие отрезки кода:

	if ($_POST['name'] && $_POST['password']) {
		$auth	= $AUTH_METHOD[$config['auth_module']];
		$user	= $auth->login(0, $_POST['name'], $_POST['password']);
		if (!is_array($user)) {
			msg(array("type" => "error", "text" => $lang['comments:err.password']));
			return;
		}
	}


$SQL['mail']			= secure_html(trim($_POST['mail']));


		if (!$SQL['author']) {
			msg(array("type" => "error", "text" => $lang['comments:err.name']));
			return;
		}
		if (!$SQL['mail']) {
			msg(array("type" => "error", "text" => $lang['comments:err.mail']));
			return;
		}

		// Check if author name use incorrect symbols. Check should be done only for unregs
		if ((!$SQL['author_id']) && (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/", $SQL['author']) || strlen($SQL['author']) > 60)) {
			msg(array("type" => "error", "text" => $lang['comments:err.badname']));
			return;
		}
		if (strlen($SQL['mail']) > 70 || !preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $SQL['mail'])) {
			msg(array("type" => "error", "text" => $lang['comments:err.badmail']));
			return;
		}
		// Check if guest wants to use email of already registered user
		if (pluginGetVariable('comments', 'guest_edup_lock')) {
			if (is_array($mysql->record("select * from ".uprefix."_users where mail = ".db_squote($SQL['mail'])." limit 1"))) {
				msg(array("type" => "error", "text" => $lang['comments:err.edupmail']));
				return;
			}
		}

Закомментировать - значит поставить перед каждой строчкой кода //.
Заменяем

		$SQL['author']			= secure_html(convert(trim($_POST['name'])));

на

		$SQL['author']			= $lang['guest'];

Затем из шаблона формы можно смело убирать поля для введения мейла, логина и пароля.
Смысл саюжа: Если вашим гостям разрешено оставлять комментарии, то ничего кроме капчи им вводить не нужно. + поскольку они все будут с именем "Гость", то логины зарегистрированных юзеров использовать не смогут.

#133 Re: "А как сделать..." » Капча » 2010-01-28 06:13:32

paradoxx, я дизайн формы регистрации не переделывал еще smile пока с новостями ковыряюсь, там почти всё доделал. )

#134 Re: "А как сделать..." » Капча » 2010-01-28 05:24:17

Разобрался..

@require_once('core.php');
@include_once ('trash/securimage.php');

if(isset($_REQUEST[session_name()])){
    session_start();
}

$captcha = new securimage();
$captcha->show();
if($_REQUEST[session_name()]){

				$_SESSION['captcha'] = $captcha->getCode();
}

#135 Re: "А как сделать..." » Как выполнить php-код на странице? И тому подобные вопросы » 2010-01-28 00:13:21

ROZARD, а можно сделать плагин, который будет импортировать сторонние .tpl файл(ы) в тело main.tpl?
Если да, то расскажите пожалуйста smile

#136 Re: "А как сделать..." » Как выполнить php-код на странице? И тому подобные вопросы » 2010-01-27 21:58:00

замени в index.php
    echo $tpl -> show($mainTemplateName);
на
    eval (' ?' . '>' . $tpl -> show($mainTemplateName) . '<' . '?php ');

#137 Re: "А как сделать..." » Капча » 2010-01-27 12:22:49

перепробовал уже все, что можно. и всеравно проверка не работает

@require_once('core.php');
@include_once ('securimage.php');

if(isset($_REQUEST[session_name()])){
    session_start();
}
$cnumber = isset($_SESSION['captcha'])?$_SESSION['captcha']:1234;
$captcha = new securimage();

if($_REQUEST[session_name()]){
    $_SESSION['captcha'] = $captcha->show($cnumber);
}

#138 "А как сделать..." » Капча » 2010-01-27 09:19:43

mittus
Ответов: 4

http://legend.zxs.ru/news/register/

Не работает проверка капчи..

Содержимое captcha.php

include 'securimage.php';

usleep(300000);

$img = new securimage();
$img->show();

Помогите пожалуйста разобраться с проверкой )

#139 Re: "А как сделать..." » обязательный параметр mail в комментариях для не зарегистрированных » 2010-01-27 08:58:34

ROZARD пишет:

Тaк удобнe зaто, но дaную форму можно просто удaлить с дизaйнa.

Сабж вопроса уже находится во 2-м моем сообщении..

#140 Re: "А как сделать..." » обязательный параметр mail в комментариях для не зарегистрированных » 2010-01-27 07:43:13

Косяк sad
Гости могут использовать логины зарегистрированных пользователей.

Вопрос меняет поворот:

Как убрать вообще формы логина, пароля, мейла для гостей и тех, кто добавляет комменты без регистрации помечать, как "гость" в авторстве комментария?

Зарегистрированный пользователь всегда сможет воспользоваться формой логина вверху сайта на мой взгляд...

#141 Re: Релизы версий » Версия 0.9.1 Release » 2010-01-27 07:38:36

Баг, или фича.
В комментариях не зарегистрированный пользователь может оставлять сообщения от имени зарегистрированных пользователей. Сделали возможность запрета использования одинаковых мейлов, но с логинами упустили момент sad

#142 "А как сделать..." » обязательный параметр mail в комментариях для не зарегистрированных » 2010-01-27 07:23:20

mittus
Ответов: 6

Подскажите пожалуйста, как отключить проверку?
т.е. из формы комментариев вообще хочу удалить блок, где нужно ввести E-mail

#143 Re: "А как сделать..." » Возможно ли в comments.show.tpl закрыть область? » 2010-01-27 06:42:11

Сделай на JS проверку

<div id="more_comments" style="display:none;....">[more_comments]Перейти на страницу: {more_comments}[/more_comments]</div>

Если в блоке с id "more_comments" нихрена нет, то ничего не меняем, а если там что-то есть, то отображаем:

  document.getElementById('more_comments').style.display='block';

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

#144 Re: Вопросы функционирования системы в целом » Что делает следующий код? » 2010-01-27 06:30:03

Luca пишет:

А что дает автоурезание слов? Оно кукисы на выходе порежет? Просто в CMS есть баг из-за которого длинные ссылки дать нельзя -они урезаются "урезателем длинных слов", так что приходится ставить максимальную длинну слова в несколько сотен символов.

Лучше на 20 поставить, ссылочки в комментариях не так важны, как безопасность. При желании можно и поудалять пробельчики, если нужно перейти по ссылке smile

#145 Re: Флейм » Сайты на NG CMS » 2010-01-27 06:25:55

+1
roll
http://legend.zxs.ru/news
Почти весь функционал обрезал, многое подработал под себя, тк Вашу cms использую в качестве новостной. )

Выражаю благодарность за ваше детище, NG практически полностью соответствует моим запросам, а всё - что не соответствует, настраивается не без помощи поддержки на форуме, но в сравни с другими cms с лёгкостью, т.к. в движке всё предусмотрено.

Очень долго искал подходящую cms под новостную ленту, перепробовал более десятка различных сms, NG лучшая!

#146 Re: Вопросы функционирования системы в целом » Вопрос по кодировке UTF-8 » 2010-01-26 14:09:38

Wolverine, точно, странно только то, что это было в tpl по-умолчанию. Я менял только окружающую оболочку, а в сердцевине новости оставлял исходный код:

[icon]<img src="{icon}" alt="" border="0" />[/icon][update]<br />{l_updated}{update}<br /><br />[/update]{short-story} [more]Раздел..[/more] {full-story}<div style="padding: 10px; text-align:center;">{pagination}</div><br />[isplugin finance][finance]<br />Стоимость доступа составляет: ${fin_price} [fin_on] <b>(оплачено)</b>[/fin_on][fin_off](не оплачено)[/fin_off][/finance][/isplugin]<br />{plugin_similar_tags}[isplugin rating]{plugin_rating}[/isplugin][isplugin tags][tags]<div align="right"><img src="{tpl_url}/images/tag.png" width="13" height="13" alt="Мета-теги" /> {tags}</div>[/tags][/isplugin]

Удалил содержимое между тегами [more][/more] и всё встало на свои места. Еще раз спасибо smile

#147 Re: "А как сделать..." » чтобы убрать кнопку "все комменты" » 2010-01-26 13:45:42

Присоединюсь к сабжу, комментарии в движке можно заключть в <noindex> например, для SEO smile

Считать первую страницу более короткой чем остальные? ... хм, а это идея! - А вот это логичная, разумная мысль и вполне себе реализуется.  (http://7clan.ru/news/2009/03/26/n256e11/ вот пример подобной реализации, единственное различие от NG - там комментарии полностью на аяксе, т.е. нет ссылок на странички)

Виталий, отписал вам в асю по-поводу комментариев.

#148 Re: Вопросы функционирования системы в целом » Вопрос по кодировке UTF-8 » 2010-01-26 13:14:20

Wolverine, Насчет тега <!--more-->, создал тестовую новость: http://legend.zxs.ru/news/2010/01/26/prevyu/
Ее код таков:

превью
<!--more-->
полная новость
:angry:

А на деле получается следующее:

превью
Раздел..
полная новость

По остальным вопросом большое спасибо за развёрнутую информацию, все необходимые фиксы внёс smile Кроме спойлера. С ним отдельно додумывать буду.

#149 Re: Вопросы функционирования системы в целом » Вопрос по кодировке UTF-8 » 2010-01-26 09:16:13

Никак не могу найти файлы, которые отвечают за следующие вещи:
1. {ip} в комментариях "кто это?" хочу поменять на вывод самого IP ввиде ссылки той же.
2. "Цитата" фраза заключается в теги <b>, мне нужно заменить на <strong>
3. тег [spoiler], хочу попытаться переделать заданное "Раскрыть" на "Показать", "Спрятать" в зависимости от состояния, show/hide.

В идеале конечно тег должен быть приблизительно таким: "[hide="спрятать" show="показать"]...[/hide]", где можно редактировать текст исходного и конечного состояния ссылки хайда.

Еще кажется тег <!--nextpage--> не работает (либо я не понял, как его правильно использовать)
И при использовании тега <!--more--> добавляется нежелательное "Раздел..."

+ в добавлении новости не хватает тега  (или я накосячил, хотя исходники админки не ковырял вообще, только темплейты сайта редактировал)

#150 Re: "У меня не работает..." » Комментарии » 2010-01-26 07:33:35

Кстати, мало-ли кому пригодится, шаблон формы комментариев с div версткой.

<script type="text/javascript">
var cajax = new sack();
function reload_captcha() {
	var captc = document.getElementById('img_captcha');
	if (captc != null) {
		captc.src = "{captcha_url}?rand="+Math.random();
	}
}	

function add_comment(){
	// First - delete previous error message
	var perr;
	if (perr=document.getElementById('error_message')) {
		perr.parentNode.removeChild(perr);
	}

	// Now let's call AJAX comments add
	var form = document.getElementById('comment');
	//cajax.whattodo = 'append';
	cajax.onShow("");[not-logged]
	cajax.setVar("name", form.name.value);
	cajax.setVar("password", form.password.value);
	cajax.setVar("mail", form.mail.value);[captcha]
	cajax.setVar("vcode", form.vcode.value); [/captcha][/not-logged]
	cajax.setVar("content", form.content.value);
	cajax.setVar("newsid", form.newsid.value);
	cajax.setVar("ajax", "1");
	cajax.setVar("json", "1");
	cajax.requestFile = "{post_url}"; //+Math.random();
	cajax.method = 'POST';
	//cajax.element = 'new_comments';
	cajax.onComplete = function() { 
		if (cajax.responseStatus[0] == 200) {
			try {
				resRX = eval('('+cajax.response+')');
				var nc = document.getElementById('new_comments');
				nc.innerHTML += resRX['data'];				
				if (resRX['status']) { 
					// Added successfully!
					form.content.value = '';	
				}
  			} catch (err) { 
				alert('Error parsing JSON output. Result: '+cajax.response); 
			}
		} else {
			alert('TX.fail: HTTP code '+cajax.responseStatus[0]);
		}	
		[captcha] 
		reload_captcha();[/captcha]
	}
	cajax.runAJAX();
}
</script>
<div id="new_comments"></div>
<div style="margin:20px auto; width:400px;">
<form id="comment" method="post" action="{post_url}" name="form" [ajax]onsubmit="add_comment(); return false;"[/ajax]>
<input type="hidden" name="newsid" value="{newsid}" />
<input type="hidden" name="referer" value="{request_uri}" />
<div style="font-size:80%; color:#666;">
{l_addcomment}<br>
[not-logged]
<div style=" text-align:right; border:1px dotted #BBBBBB; color:#FF3300; font-size:120%">
<label for="name">{l_name} </label><input type="text" size="30" name="name" value="{savedname}"  /><br />
<label for="password">{l_password} <small>{l_ifreg}</small> </label><input class="password" type="password" maxlength="16" size="30" name="password" value="" /><br />
<label for="mail">*{l_email} </label><input class="email" type="text" size="30" maxlength="70" name="mail" value="{savedmail}"  /><br />
<label for="vcode">[captcha]
*<img id="img_captcha" onclick="reload_captcha();" src="{captcha_url}/captcha.php?rand={rand}" alt="captcha" />
[/captcha] </label><input class="important" type="text" name="vcode" maxlength="5" size="30" />
</div>
[/not-logged]
<div style="width:150px; float:left; clear:left;">
<a href="javascript:ShowOrHide('bbcodes');"><img src="{tpl_url}/images/arr_bot.gif" border="0" />{l_bbcodes}</a><br />
<div id="bbcodes" style="display : none;"><br />{bbcodes}</div>
</div>
<div style="width:250px; float:right; clear:right;">
<a href="javascript:ShowOrHide('smilies');"><img src="{tpl_url}/images/arr_bot.gif" border="0" />{l_smilies}</a><br />
<div id="smilies" style="display : none;"><br />{smilies}</div>
</div>
</div>
<textarea name="content" id="content" style="width:400px;" rows="8"></textarea>
<input type="submit" class="button" value="{l_add}"/>  <input type="reset" class="button" value="{l_clear}" />
</form>
</div>

Подгонял под сайт по ширине в 400px, выравнивается по середине. результат можете посмотреть тут: http://legend.zxs.ru/news/2010/01/25/testovaya_novost/

пысы, если у кого вопросы по дизайну - пишите, постараюсь помочь smile
mitusx@bk.ru

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

Работает на FluxBB