Вы не зашли.
panoptus, ты не учитываешь, что в БД и так хранится общая новость. А при отображении она разрезается на короткую и полную.
Если только. Других альтернатив я действительно не нашел.
Просто не хотелось эти actionID'ы ещё и хранить где-то.
В SVN выложена обновлённая версия плагина lastnews.
Прошу протестировать. Если решение будет успешно работать - его можно будет применять и в других плагинах.
Trashcka, в плагин такая возможность не заложена.
Тебе нужно смотреть в сторону плагина персональных сообщений, который делал d7p4x
Trashcka, только учти - старый и новый feedback - совершенно разные плагины и предназначены они для совершенно разных задач.
Старый - может отправлять сообщения пользователям.
Новый - управление формами обратной связи, при этом настройки обратной связи задаёт админ и менять их нельзя.
Вопрос - этот фикс не будет отрицательно влиять на показ изображений в других браузерах?
graf, тогда уж можно просто заливать на YouTube и выводить ролики сразу оттуда. И никакая интеграция не нужна.
Думается мне, что конвертить всё-таки лучше на клиентской машине.
Т.к. решение с тяжелым контентом и его обработкой мало кому подходит - действительно нужен большой запас серверной мощности, который можно использовать для более полезных задач
Только что закончил апгрейд плагина similar на одном сайте (новая версия плагина - в SVN. закончу обкатку - выложу тут).
Сразу столкнулся с ситуацией - не всегда те схемы, которые великолепно работают на локальной машине, могут адекватно себя вести на сервере под трафиком.
Первый вариант новой версии плагина влёт создал нагрузку на сервер в 15 попугаев (вместо штатных 1.5), а причина оказалась банальна - в сложном SQL запросе mySQL промахнулся с индексами. И на локали этого как-то не заметно, а вот на сервере и под трафиком - очень даже.
Указание индексов в самом SQL запросе решило проблему.
Интересное наблюдение по нагрузке:
* кол-во хитов по страницам движка (т.е. по тем, которые генерит скрипт): 4.2 хита/сек
* кол-во SQL запросов: ~45/сек (по 10+ SQL запросов на странице из-за большого кол-ва включенных плагинов)
При этом на сайте включен плагин jchat (период опроса сервера - каждые 60 секунд), одновременно на сайте находится ~100 человек и этот плагин создаёт нагрузку в 1.65 хитов/сек.
Плагин будет расширяться - добавлю возможность работы в отдельном окне.
Там и места для полезной информации будет побольше (к примеру, дата/время поста), и возможность удаления предусмотрю.
Разве что пока не очень ясно как информировать посетителей о том, что что-то удалялось - сейчас каждый клиент передаёт ID самого последнего сообщения. И если в базе есть более новые - они ему высылаются.
Ни feedback ни complain не умеют отправлять ЛС.
Но если это кому-то интересно - научу.
Просто checked может выдавать warning при проверке валидности HTML кода.
Но работать, естественно, везде будет и он.
Здесь можно эти флаги "вручную" выставить в HTML шаблоне.
engine/skins/default/tpl/addnews.tpl
Там есть раздел:
[options]
<input type="checkbox" name="approve" value="1" checked class="check" id="approve" /> <label for="approve">{l_approve}</label>
<br /><input type="checkbox" name="mainpage" value="1" checked class="check" id="mainpage" /> <label for="mainpage"> {l_mainpage}</label>
<br /><input type="checkbox" name="allow_com" value="1" checked class="check" id="allow_com" /> <label for="allow_com"> {l_allow_com}</label>
<br /><input type="checkbox" name="favorite" value="1" class="check" id="favorite" /> <label for="favorite">{l_add_favorite}</label>
<br /><input type="checkbox" name="pinned" value="1" class="check" id="pinned" /> <label for="pinned">{l_add_pinned}</label>
<br /><input type="checkbox" name="flag_RAW" value="1" class="check" id="flag_RAW" {disable_flag_raw}/> <label for="flag_RAW">{l_flag_raw}</label>
<br /><input type="checkbox" name="flag_HTML" value="1" class="check" id="flag_HTML" {disable_flag_html}/> <label for="flag_HTML">{l_flag_html}</label>
[/options]
В нужных тебе опциях добавляешь
checked="checked"
К примеру для HTML:
<br /><input type="checkbox" name="flag_HTML" value="1" class="check" checked="checked" id="flag_HTML" {disable_flag_html}/> <label for="flag_HTML">{l_flag_html}</label>
Если хочешь, чтобы не только админ мог постить в HTML, то заходишь в "настройки системы" => "новости" и настраиваешь флаги "блокировать HTML в новостях, создаваемых ..."
Поставил в новости галочку "разрешить использование HTML кодов"?
ROZARD, спасибо.
Не мог раньше понять откуда эта ошибка иногда проскакивала.
Исправил, выложил сам плагин.
Наименование: jChat (AJAX чат для сайта)
Описание: Плагин позволяет добавить на сайт простенький web чат
Текущая версия: 0.02 [выпуск: 23-02-2009]
Ссылка: ZIP (8 Kb)
Для работы плагина необходимо установить обновлённую версию AJAX библиотеки движка.
Необходимо заменить файл engine/includes/js/ajax.js на ajax.js
Последние изменения:
[0.02][2009-02-23]
+ Выпуск стабильной версии, добавлена документация по плагину
[0.01][2009-02-05]
+ Выпуск тестовой PRE-release версии плагина
Скриншоты примеров работы:
Тогда - выполняешь вот эту SQL команду:
update ng_news set mainpage = 1 where (catid regexp '[[:<:]](77)[[:>:]]')
где
mainpage - флаг нахождения на главной странице.
1 - показать
0 - не показывать
а 77 - код категории. в твоём случае это будет другой код.
Trashcka, сорри, я был очень невнимателен
Замену пробела на тире сделать можно. Вопрос в другом - а что делать в случае, если ты делаешь два тега: "Мой тег" и "Мой-тег" - они должны считаться одним и тем же или нет?
Относительно проблемы с переносом тега всё решается значительно легче - в файле /engine/plugins/tags/tpl/skins/default/params.ini
Заменяешь строку:
tag_news = "<a href='{url}'>{tag}</a>"
на:
tag_news = "<a href='{url}' style='white-space: nowrap;'>{tag}</a>"
и переносов внутри тега не будет.
С ЧПУ чуть посложнее, отвечу немного позже.
Делаешь что-то вроде:
1.
<a href="#" onclick="document.getElementById('smileDIV').style.display = (document.getElementById('smileDIV').style.display == 'block')?'none':'block'; return false;">Show/hide smilies</a>
<div id="smileDIV"> тут смайлы которые будут скрываться</div>
2. Отлично
3. Админы могут. Пользователи - нет.
1. Можно. Кладёшь значок, вешаешь на событие onclick свой обработчик который включает/выключает отображение div'а в котором будут все смайлы.
2. Такой переменной нет, надо править двиг. Но править всего в 2х местах:
* engine/includes/comments.show.php, строки:
if ($config['use_avatars']) {
$sql = "select c.*, u.avatar from ".prefix."_comments c left join ".uprefix."_users u on c.author_id = u.id where c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'')." order by c.id".($config['reverse_comments']?' desc':'');
} else {
$sql = "select c.* from ".prefix."_comments c WHERE c.post=".db_squote($newsID).($comment_id?(" and c.id=".db_squote($comment_id)):'')." order by c.id".($config['reverse_comments']?' desc':'');
}
заменить на:
if ($config['use_avatars']) {
$sql = "select c.*, u.avatar, u.com from ".prefix."_comments c left join ".uprefix."_users u on c.author_id = u.id where c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'')." order by c.id".($config['reverse_comments']?' desc':'');
} else {
$sql = "select c.* from ".prefix."_comments c WHERE c.post=".db_squote($newsID).($comment_id?(" and c.id=".db_squote($comment_id)):'')." order by c.id".($config['reverse_comments']?' desc':'');
}
* после строк:
foreach ($mysql->select($sql) as $row) {
$comnum++;
$tvars['vars']['id'] = $row['postdate'];
добавляешь:
$tvars['vars']['ucom'] = $row['com'];
и у тебя в шаблоне comments.show.tpl появится переменная {ucom}
p.s. Эта переменная будет работать только при включенных аватарках.
Если их выключить - вместо кол-ва комментов будет выводиться пустота.
p.p.s. Не проверял, но 90% должно работать
Можно сделать руками.
1. Открываешь engine/plugins/feedback/feedback.php, находишь:
function plugin_feedback_screen() {
global $template, $tpl, $lang, $mysql, $userROW;
заменяешь на:
function plugin_feedback_screen() {
global $template, $tpl, $lang, $mysql, $userROW, $SYSTEM_FLAGS;
$SYSTEM_FLAGS['info']['title']['group'] = 'Мой текст который я хочу видеть вместо слова "плагин"';
Должно заработать
Есть ещё 3й вариант - как смесь 1го и 2го.
1. Единая база пользователей на форуме и портале.
2. Использование движком таблиц форума для работы с комментариями. Естественно, с автосозданием темы в форуме в момент добавления первого поста.
Тогда и на портале сохранятся комментарии и на форуме будут только те темы, по которым есть обсуждение.
И комментарий можно будет постить и на портале и в форуме.
Единственная проблема - синхронизация BB кодов форума и портала.
Eterex, переменные вида {plugin_ИМЯ} и {plugin_ИМЯ_чтото} - специальные переменные.
Они отображаются двигом только в том случае, если плагин с данным именем сейчас активирован.
Сделано для того, чтобы в шаблоны можно было заложить поддержку многих плагинов и в случае, когда пользователь отключает плагин - сразу же пропадают его переменные.
Ну а раз у тебя нет плагина lastnews2 ({plugin_lastnews2}), то переменная и не отображается.
По этой же причине переменная {plugin_lastnews_2} отображается - ведь плагин lastnews у тебя есть.
Cyber, конечно будет,... точнее даже просто обязана там появиться в ближайшие 3-6 недель
vitaly пишет:Как ты знаешь, поле "адрес" может быть представлено только в одном давным давно (лет 10 назад) созданном и утверждённом формате.
Тогда же был утверждён маппинг символов.
К примеру, есть web браузер хочет отправить символ пробел на web сервер, то он должен этот символ заменить на "+". Можно, конечно, и не заменять,... но в этом случае сервер не сможет трактовать запрос и необходимую тебе страницу ты не получишь.Я ничего не имею против, просто на том же вордпресе сделано через тире, поэтому и спросила возможно ли и на NG также.
Ты определись - сделано через тире (которое не противоречит стандартам) или через пробел (тогда покажи мне где на это чудо можно посмотреть).
Не предусмотрено.
Это разовая/редкая задача или постоянная?
В случае, если это надо делать очень редко - изменение можно делать через phpMyAdmin (руками выполнять SQL запрос).