Плагин тикет система и исправленные ошибки
05.03.2010У меня было вдохновение и я за один написал тикет систему для блоголёта в виде плагина. Плагин работоспособный, но предназначен пока исключительно только для тестирования - я его сам толком еще не тестировал, исправил только грубые ошибки, но вроде как работает. Позже напишу подробнее.
Также исправил ошибки, найденные в предыдущей версии. Скачать эту версию отсюда: http://litepublisher.googlecode.com/files/litepublisher.3.22.tar.gz
Как всегда приветствуются сообщения об ошибках - их становится все меньше и меньше.
RSS комментарии к этой записи
Рубрики: Новости
Комментарии (38) на запись “Плагин тикет система и исправленные ошибки”
Оставить комментарий
Можно ли это сделать из админки или как нить автоматом?
В стиле темы default нужно исправить описание класса:
style.css стр.538
.footer-meta {
width: 175px;
float: left;
margin-left: 10px;
}
иначе длинные описание друзей начинают смещаться влево, обрезая часть текста - проверял в FF3.6 и опере 10.10
Ошибка с зависшим комментарием в новой версии так и осталась - после удаления первого поста остается комментарий, который показывается внизу в "Свежие комментарии". Причем из админки его удалить тоже не получается.
Пункта обновить систему в админке не нашел.
Документации по обновлению тоже не нашел.
При установке блога на английском языке все равно все устанавливается на русском языке.
Зато теперь работает редактируемый виджет
При попытке создать полную архивную копию, выдает ошибку Fatal error: Access to undeclared static property: litepublisher::$pathslib in Z:\home\test.ru\lib\backuper.class.php on line 170
Хотя архивация с выбором отрабатывает нормально
Выбор меню "Обслуживание" - показывает номер версии, но ниже пишет "Ошибка чтения сервиса"
Где ,в таком случае можно задать расширение для карты сайта?
А ты что уже запустил сайт на новой версии? Пока что можно только скопировать поверх старых файлов новые, автомат еще не тестировал
Существующая тема по умолчанию обладает целым рядом недостатков/ошибок, которые надеюсь будут отсутствовать в новой теме по умолчанию, которая сейчас разрабатывается. Я ничего не понимаю в верстке, поэтому могу принять исключительно только готовые решения, но не багрепорты про тему.
Ошибка чтения сервиса - потму чо сам сервис я еще не установил, как только, так сразу - симметрично старой версии.
Безусловно, спасибо за ошибки - я их исправлю, но как мне казалось в этом исправлении расширения отсекаются, к тому же адрес /sitemap.htm сейчас уже занять картой сайта - смотри в виджете мета ссылка накарту, но урлы в этой версии я исправлялпытаяс вводитьтвсякий мусор, чтобы формировался нормальный урл. Опиши однознчный алгоритм приводящий к такой ошибке.
Да, сразу удалил старую версию и развернул новую.
Версия - файловая.
Алгоритм получения ошибок при вводе меню:
- добавляю новый пункт меню, пишу /sitemap.html, дописывается расширение .htm
- редактируем созданный на предыдущем шаге пункт меню, удаляя полностью расширение, в надежде, что будет добавлено по умолчанию - опа, теперь в поле адресная строка стоит -2 или -3.
Удаляем полностью этот пункт меню и заводим заново. При сохранении дописывается расширение .htm. Но я сделал все страницы с расширением .html, мне и здесь оно нужно.
Комментарий так и остался - из админки он не виден ни в меню, ни в низу экрана, но хорошо виден простому пользователю при просмотре главной страницы. Решил эту проблему убрав показ вообще всех комментариев. Так сказать - отрубил ошибке голову :)
И еще - в программе обязательно нужно сделать кнопку смены пароля - не все же программисты и будут вводить строки команд где то в глубоко закопанном месте, а выдаваемый пароль в принципе не удобен. Это вообще базовая возможность. Я сразу же полез менять пароль, но найти так и не смог. Это то, что должно быть обязательно.
Тестирую на локалхосте, на БД установка заканчивается fatal error-ом, на файлах поставилась.
Отпишу про всё что нашёл(на файловой версии):
Комментарии действительно глючат, если несколько раз нажать "задержать", потом "одобрить", коммент столько же раз продублируется в виджете последних комментов. При этом, визуально на странице ничего не меняется, требуется перезагружать страницу, чтобы увидеть коммент в одобренных или задержанных.
Было бы неплохо сделать совместимость с php 5.3. Возможно, она уже есть, но ставится не на любом хостинге.
Редактируемый виджет создаётся в сайдбаре, но у него по умолчанию class="footer-meta". Не проверял в других браузерах, но в firefox он не видим. При попытке перенести его в колонку №2(футер) он перестал выводиться и исчез из "Виджетов", хотя редактировать можно...
Виджеты главной страницы: активирую, а в списке нет виджетов... Вернуть обратно не вышло, главная осталась без виджетов.
Настройки стандартных виджетов: меняю, применяю - выдаёт ошибку. Число комментов и ссылок на друзей не меняются.
Файлы - Иконки: было бы неплохо вывести картинки иконок. В таблице пропущены слэши в адресах ссылок.
Опция отключения кеширования кажется не влияет на него, файлы кеша создаются, время генерации остаётся прежним.
Выводится после слов "Вы ожидали продолжение установки? Это все! Установка завершена.":
Fatal error: Uncaught exception 'Exception' with message 'Item 0 not found in class tcomusers' in D:\site\www\lib\kernel.php:86 Stack trace: #0 D:\site\www\lib\kernel.php(511): tdata->error('Item 0 not foun...') #1 D:\site\www\lib\comments.class.db.php(44): titems->getitem(0) #2 D:\site\www\lib\comments.manager.class.php(83): tcomments->add(0, '????????????! ?...', 'approved') #3 D:\site\www\lib\installer.class.php(297): tcommentmanager->addcomment(1, 0, '????????????! ?...') #4 D:\site\www\lib\installer.class.php(119): tinstaller->CreateFirstPost() #5 D:\site\www\lib\installer.class.php(176): tinstaller->CreateDefaultItems('c8a640ef3f8a5d4...') #6 D:\site\www\lib\install\install.php(16): tinstaller->install() #7 D:\site\www\index.php(60): require_once('D:\site\ww...') #8 {main} thrown in D:\site\www\lib\kernel.php on line 86
Явно не корректно обрабатываются символы, отличные от буквенных
кеширование производится аж в 2х местах, причем очистка из админки не чистит кеш шаблона в одном из мест, соответственно, изменения шаблонов вы не увидите.
Я говорю про каталог data/название_сайта/themes/ - приходится этот закешированный шаблон удалять ручками - не удобно, отнимает много времени.
А к keywords каждого поста можно было бы добавлять keywords сайта...
Функция выдирания анонса проверена - во превых удаляются все теги, за символы разрыва слов приняты следующие:
\n ,.;!?:(
посредине слова разрывать нельзя из за кодировки utf8
Ок, спасибо, буду пользоваться, не знал.
Еще вопрос - редактируемый виджет, вставляю код <? echo 'Hi!';?> - выводится как текст. Пробовал и галочку ставить напротив "Use template to output. Overwise text only" и использовать <?php ?> - один фиг, выводит как текст.
Как же заставить выполнять код php, куда смотреть?
Description лучше где то в настройках ставить - либо по концу предложения (точка,!,?), либо задавать длину.
Функция выдирания анонса проверена - во превых удаляются все теги, за символы разрыва слов приняты следующие:
\n ,.;!?:(
посредине слова разрывать нельзя из за кодировки utf8, в которой одна буква может кодироваться от 1 до 6 символов, русские буквы занимают два символа, и при неправилном разрыве браузеры могут ломать весь оставшийся текст, ппоэтому только слова. ' не включен в разрвные символы - думаю может следует включить наравне с ", в качестве ключевых слов берутся метки (теги поста), если в иных случаях не указано специально.
Что ксается php 5.3 - сегодня у себя поставил еще и версию 5.3, в ней работает все одинаково. Думаю немного расширить инфу об ошибках. Может быть сегодня к вечеру сделаю обновление.
Про кеш забыл написать: то, что лежить в папке data не является кешем - тема парситься в пригодный для употребления формат, после редатирования темы есть кнопка "перечитать" в админке на странице "Темы". Кнопка относится к текущей выбранной темы. .Парсинг темы всегда происходит при смене темы сайта, поэтому нажимать кнопку смыслла нет при ее смене.
Кеш в блоголёте многуровний, например сайтбары и меню в шапке всегда кешируются, вне зависимости от настроек, далее кеш отключен для пользователя админа - ему всегда отдается некешируемый контент, всем остальным в завсимости от настройки кеширования. Самостоятельно кеш не нужно очищать - он очищается по мере необходимости, например редактирование виджетов, постов и так далее.
Ну что вы в самом деле? Блоголёт не вчера родился :) Так и сделано - поиск обрыва слов начинается с конца максимальной длины анонса, для description я установвил в 150
В новой версии вставляемый php код в виджете я не тестировал, в старой версии отлично работало
<?php
ккакой то код
?>
И с этой стороны ничего не должно было поменяться. Посмотри в кеше текст, который пишется - вполне вероятно где то ты напутал
<?php <br>echo 'hi!';<br>?>
В визуальном редакторе редактируемого виджета - <?php <br>echo 'hi!';?>
Что я делаю не так?
Где можно редактировать отдаваемое значение для виджета Последние посты. В шаблоне стоит лишь %s, а где формируется - не понятно. Хочу убрать вывод ссылки для даты. Пока не нашел, где это делается.
Как вернуть их отображение обратно?
Да, сэто портит скорее всего nicedit плагин визуального редактора, шаблон ссылки для виджета свежих постов по умолчанию:
<li><strong><a href="$post.link" rel="bookmark" title="$lang.permalink $post.title">$post.title</a></strong><br />
<small>$post.date</small></li>
Чтобы впоменять на свой шаблон в теме (index.tml) вместо %s напиши:
<!--item-->
<li><strong><a href="$post.link" rel="bookmark" title="$lang.permalink $post.title">$post.title</a></strong><br />
<small>$post.date</small></li>
<!--/item-->
Ну естествено поменяв что тебе необходимо. В принципе то, что я сейчас написал можно было бы включить в тему, но не стал этого делать только по одной причине- чтобы не размывалось внимание на второстепенных деталях, так как этот шаблон на мой взгляд не является значиым. Также можно задать шаблоны для других виджетов, если не указать, то будут использоваться шаблоны по умолчанию. После редактирование темы ее необходимо снова перепарсить (нажать кнопку перечитать)
Виджеты в новой версии по умолчанию аяксовые - чтобы в них отображался кконтент сними соответствующие галочки в виджеты/стандартные На мой взгляд важная фича, так как убирает сквозняки на второстепенные страницы, а именно - рубрики, архив, ссылки,, друзья, мета. Главные на сайте страницы - это посты, в которыхконтент, вот посты то и необхдимо перелинкоывать между собой, для чего есть плагины старых, похожих записей. Аяксовые виджеты придуманы для сеоэфекта, и я бы настойчиво рекомендовал бы для гс включать аякс
Действительно - визуальный редактор портил php код. По совету опытных мастеров отключил его - заработало.
Большое спасибо, за подробное пояснение по настройке виджетов - как раз сидел, копал их.
Есть правда вот такая проблема - на главной странице подключенные видежты что то отображают, как только заходим в пост - в этих виджетах отображаются только заголовки,а всех постов, ссылок - нет. Почему, не понятно.
Делаю нормальный белый сайт, поэтому и хочется, чтобы все работало нормально:)
Поставил рекомендуемый код, теперь во ВСЕХ виджетах выдается вместо значение вот такое:
$post.title
$post.date
:)
В принципе, нашел этот модуль: theme.parser.class.php - в конце как раз шаблон есть, но для совместимости с будущими версиями не желательно бы его править.
Почему выдаются названия переменных в виджетах и как их исправить?
Может быть работающий пример выложите, который 100% работает - очень удобно настраивать под себя как нужно отдельные модули.
Виджеты работают как задумывалось - на главной полный контент, а на остальных аякс, если помечено. Для главной есть специальные настройки - смотри там же в виджетах.
Про шаблон - протестирую, может быть действительно есть проблема
В шаблоне я с самого начала подкорректировал форматы вывода --post-- , но все равно, с боку в виджете выводился список последних постов с датой. Поэтому и возникли затруднения.
И вывод последних постов делает тот код в шаблоне, у которого происано в
<!--widget-->
<div class="widget">
<h2 class="sidebartitle">%s</h2>
<ul class="linkcat">
%s
</ul>
</div>
<!--/widget-->
а вы советуете редактировать
<!--posts-->
<div class="widget">
<h2>%s</h2>
<ul id="widgetposts">
<!--item-->
<li><strong><a href="$post.link" rel="bookmark" title="$lang.permalink $post.title">$post.title</a></strong><br /></li>
<!--/item-->
</ul>
</div>
<!--/posts-->
Так вот если редактировать этот последний приведенный мною блок, то он не выводит список последних постов слева в сайдбаре, а первый блок -выводит. Пробовал код со второго ставить в первый - ни чего не вышло.
Совершенно запутался - разные коды виджетов должны выводить одну и туже информацию, но не выводят.
Нашел способ решить эту проблему с виджетами:
если в шаблоне перенести блок с инструкциями детального вывода информации перед блоком короткого вывода информации, то начинает выводится именно по схеме детального вовода.
Сделал вот так:
----------- начало вставленного блока
<!--posts-->
<div class="widget">
<h2>%s</h2>
<ul id="widgetposts">
<!--item-->
<li><strong><a href="$post.link" rel="bookmark" title="$lang.permalink $post.title">$post.title</a></strong><br /></li>
<!--/item-->
</ul>
</div>
<!--/posts-->
------ конец вставленного блока, дальше идет код спорного виджета
<!--widget-->
<div class="widget">
<h2 class="sidebartitle">%s</h2>
<ul class="linkcat">
%s
</ul>
</div>
<!--/widget-->
Налицо проблема с приоритетами использования виджетов. Получается 2 разных кода виджетов отображают одну и ту же информацию, причем при наличии одного обоих в шаблоне, информацию выводит тот, который стоит первым (он по умолчанию ни как не был обозначен как виджет , выводящий последние посты).
Код, который скопировал был в блоке виджетов для футера.
Все это создает очень большую путаницу, которая с учетом того, что документация в принципе отсутствует как класс делает разработку шаблона совсем не тривиальным делом.