Вы не зашли.
а я вернусь к доп. полям, на которых прекратилась старая ветка
во-первых, спасибо за оперативный и положительный ответ
а во-вторых еще вот такой вопрос
если ставлю поле только для группы, то в админке при редактировании новости данное поле все равно доступно, и имеется как надпись "Дополнительные поля" так и поле для ее ввода, даже если выбрана категория к которой данное поле не относится
правда, при выборе соотв. категории появляется надпись Дополнительные поля [ ид_поля :: Название_поля ]
т.е. сам вопрос:
при выборке новостей из базы происходит обращение к полю или нет?
если перевести с русского на пхп, то примерно так:
select blablabla from категория_1 were поле = "поле_такое-то_для_категории_1"
то were поле = "поле_такое-то_для_категории_1" присутствует везде или только в той категории к которой оно (поле) относится?
интересуюсь, т.к. планирую использовать в некоторых категориях несколько десятков доп. полей и опасаюсь нагрузки...
по идее в тех категория где нету полей, данное условие нафик не нужно, а в тех категориях где другие поля, нужно were поле = "поле_такое-то_для_другой_категории"
хз, возможно несколько сумбурно получилось - но надеюсь суть вопроса понятна...
093 отличается от 092 только плюшками в плагине xfields.
помнится, в ветке плагина была мысль чтобы определенным категориям можно было назначать определенные поля...
то ли не реализовано, то ли не нашел где включается...
выбор блока это конечно хорошо, но это можно было сделать и на старой версии на уровне шаблона...
а вот выбор категорий по идее должен снизить нагрузку - если категория не содержит полей, их просто не нужно будет опрашивать
апну, поскольку нужная "хотелка" - и к сожалению, нереализованная даже в 0.9.3
пока что для 9.2
где-то было мнение на форуме, что неплохо бы иметь "чистый" шаблон без лишних наворотов, на базе которого можно будет создать что угодно
для тех кто собрался не портировать чужие шаблоны, а разработать с нуля свой предлагаю вот такой шаблон-скетч...
старался подробно прокомментировать как в css так и в tpl, думаю что вопросов не возникнет
из особенностей - предусмотрена возможность сайдбара как слева так и справа (см. коменты в css в шаблоне)
для удобства в комплекте 2 сетки (16 и 24)
работают все плагины, которые работают в дефолтном шаблоне
ps
поправил, кто скачивал - скачайте обновленный архив или поправьте в форме авторизации и логина
вместо
type="button"
нужно
type="submit"
Обязательно, но не в этом году
страшно что на один линукс больше станет?
Для детей нужны игры, все они под Windows
даже не буду интересоваться скок у тебя детей, но спасибо за поднятое настроение :D:cool:
с точки зрения папы - юные "хакеры" на порядок любопытнее взрослых, и убивали виндовый комп (пока он был виндовым) в среднем за месяц
фразы про игры не выдерживают никакой критики:
1. для старших - все онлайновые безделушки вроде таймзеро, героев онлайн и прочих вымагателей бабла запускаются as is без лишних телодвижений - так же само как всякие фермы с контактов
2. для самых маленьких - десятки и сотни тысяч ярких игрушек на флеше, которые также запускаются as is без лишних телодвижений
3. для гурманов - ни одна популярная игра не выпускается "только под выньдовс" - на западе это давно общепринятая практика... к тому же линух более грамотно использует ресурсы, следовательно на том же самом компе можно улучшить графические настройки без покупки новой видяхи (к примеру "линуксоидный" квейк на одинаковом железе выдает почти в полтора раза больше фпс чем "виндовый" )
5. для извращенцев - вайн и вайнЫкс позволяют запустить 99% игрушек под выньдовс - и даже такие "сугубо виндовые" как извращения от 1-с
а если и остается небольшой процент игрушек, которые невозможно запустить - думаю ними вполне можно пожерствовать ради стабильности и защищенности от рук "маленьких админчеГов"
а вообще - прав easmik, а я ток добавлю "каждой задаче нужен свой инструмент", т.е. каждой задаче своя ОС
для сервера - фряха, для телефона - симба, для бухгалтера - вынь... но в детской комнатое должна быть ток убунта
http://ngcms.ru/forum/viewtopic.php?id=365, второй пост
на 0.9.2 подходит почти без изменений
напомнило фразу - челябинские дорвейщики настолько суровы, что запускают хрумер исключительно под линуксом (с)
это если хочешь именно денвер
если имелся ввиду локальный веб-сервер - то там есть центр программ убунту, через него можешь поставить прямо из графического интерфейся, без всяких консолей...
Поэтому Линуксом никто и не пользуется на десктопе
ток не надо об этом говорить моей дочери и сыну - а то они по наивности своей юзают убунту на десктопе и даже не подозревают что ним никто не пользуется
имхо лучшая ось если в доме есть дети... и в отличие от винды, неубиваемая юными дарованиями
пожалуй лучшее в мире решение http://akismet.com/
имеются как готовые плагины (вордпрес, жумла, друпал, куча форумных движков), так и апи которое поможет написать свой плагин
даже странно что еще нету плагина под нгцмс - может мало спамят?
чет не нашел ни на wiki.ngcms.ru/ ни на ngcms.ru/readme/docs/
да и как говорил, уже сделал по-своему... так что это было скорее пожелание а не вопрос
а если вернуться к теме - все-таки как заставить плагин показывать нужную мне 404? или это не предусмотрено?
Есть функция: error404()
спасибо
а как ее заставить работать в пределах шаблона? чтоб не на белом листе, а в шаблоне сайта? в настройках сайта Реакция на неизвестный URL стоит "Внутри шаблона" - на плагины это не распространяется?
Если есть какие то вопросы можешь связаться со мной и уже по твоим вопрос могу обновить документацию...
вопросы возникают по мере написания чего-то нового... как правило того, с чем никто раньше не сталкивался - и когда "подсмотр" у других плагинов не дает результата получаются вопросы...
форум потому и предпочтителен той же аськи - если аналогичный вопрос возникнет еще у кого-то то будет уже готовый ответ
вордпресс приводил в пример лишь потому как у них очень толково сделаны доки - все доступные для сторонних разработчиков функции расставлены по полочкам, разжеваны и обильно снабжены примерами - т.е. любой человек, который знает чем отличается константа от переменной сможет за 20 минут написать свой плагин
если все же планируется обновление документации - можно отсюда взять пару вопросов отсюда http://ngcms.ru/forum/viewtopic.php?id=555
вот еще вдогонку нарисовался вопрос...
не так актуально поскольку сделал по своему, но все же узелок на будущее - для пагинации насколько я понимаю тоже должна быть встроенная функция?
если да, то как в нее передавать нужные мне значения?
если вернуться к примеру выше, то должно быть не просто ?page=2 a ?page=2&type=2
очередной раз приветствую всех плагинописателей ngcms
такой вот вопрос нарисовался:
имеется плагин, который на своей странице выводит определенную информацию
инфа естественно зависит от того, какие значения передаются в данный плагин...
вот небольшой пример
if (isset($_GET['type'])){
$get_type = $_GET['type'];
if ($get_type == '0'){
$adstype_select = 'AND xfields_adstype <> ';
$adstype_select .= db_squote();
}else{
$adstype_select = 'AND xfields_adstype = ';
$adstype_select .= db_squote($arr_type[$get_type]);
}
$result_post_type = $arr_type[$get_type];
}
имеется определенный интервал допустимых значений, в данном случае для переменной $get_type
в данном случае, если $_GET['type'] отсутствует - выполняю определенное условие, что имхо не совсем правильно, ибо приходится изобретать велосипеды
а хотелось бы выдать посетителю стандартную 404 от движка... соответственно, если $_GET['type'] "не помещается" в допустимый интервал тоже нужно выдать 404
т.е. сам вопрос - существует ли стандартная функция для 404 которую можно вызвать из плагина?
в других плагинах похоже что нету, либо она не используется - попробуйте к примеру вместо сайт.ком/plugin/tags/tag/?tag=блаблабла ввести сайт.ком/plugin/tags/tag/?bag=блаблабла
зы
доки по написанию плагинов не изменились со времен самой первой эн-джи... было бы больше документации - думаю что подобные вопросы просто бы не возникали, и хорошим примером является вордпресс, для которого ежедневно пишутся сотни плагинов
ps. Хотя, вроде как, некоторые планшеты умеют масштабировать аккуратно страницы. Сам не пользовался ими..
это не планшеты умеют масштабировать а сами браузеры - например по клавишам + и - в опере либо Ctrl+ и Ctrl- в файрфоксе/хроме, (либо Ctlr с колесиком мыши)
но это не то...
SFproG, вместо width: 1270px; пиши max-width: 1270px, доисторические браузеры это свойство не понимают.
если у него там фиксированный размер сайдбаров или контентной часть, скролл будет на всех браузерах, не только на "недоисторических"
а если ставить max-width для всех элементов, которые отвечают за ширину - то это будет уже не фиксированный шаблон
SFproG, оптимально - не делай
сайт фиксированой ширины 1270px
если заказчик не полный идиот вроде януковича, его будет очень легко переубедить - достаточно намекнуть что из-за растущей популярности нетбуков и планшетников он будет терять ощутимую долю посетителей
учитывая что кол-во продаж планшетов регулярно растет любой адекватный заказчик пойдет навстречу, а вариант с max-width для ключевых элементов - неплохое решение
спасибо - то что нужно
жалко что здесь нету кнопки как на нулледе
Часть новостей переносится нормально
- это слишком расплывчато, но попробую предположить что в них имеются спецсимволы вроде апострофа...
попробуй после строки
while ($result = mysql_fetch_array($sql)) {
добавить
$result['short_story'] = addslashes($result['short_story']);
$result['full_story'] = addslashes($result['full_story']);
и если не затруднит отписаться о результате...
<?php
if (!defined('NGCMS')) die ('HAL');
//add_act('index', 'random_news');
register_plugin_page('random_news','','random_news');
//print 123;
function random_news() {
global $template, $mysql, $tpl;
$num = intval(extra_get_param('random_news','number'));
if (($num < 1) || ($num > 50)) {$num = 10;}
$tpath = locatePluginTemplates(array('random_news', 'entries'), 'random_news');
foreach ($mysql->select("select * from ng_news order by RAND() limit 10") as $row) {
$tvars['vars'] = array(
'link' => GetLink('full', $row),
'views' => $row['views'],
'title' => $row['title']
);
$tpl -> template('entries', $tpath['entries']);
$tpl -> vars('entries', $tvars);
$v .= $tpl -> show('entries');
}
$tvars['vars'] = array ( 'entries' => $v);
$tpl -> template('random_news', $tpath['random_news']);
$tpl -> vars('random_news', $tvars);
$output .= $tpl -> show('random_news');
// $template['vars']['random_news'] = $output;
$template['vars']['mainblock'] = $output;
}
и в итоге получил белый лист, т.е. шаблон не подгрузился...
тем не менее, банальная строчка
print '123';
выводит то что нужно именно на странице плагина... Wolverine, подскажи что не так с шаблоном?
а как его заставить выводить новости на своей собственной странице? т.е. чтобы новости были доступны по адресу хттп://сайт.ком/plugin/random_news/
если добавить
register_plugin_page('random_news','','random_news');
то на странице плагина красуется надпись
Ошибка: Вызываемый метод недоступен для плагина 'random_news'
При конвертировании скриптом t3s переносятся не все новости.
1 - неплохо бы конкретизировать проблему - штатный телепат уехал в отпуск
какие именно новости не переносятся? т.е. в чем отличие (автор, дата, левые символы, может что-то еще) тех что переносятся от тех что не перенеслись?
2 - это точно перенос из дле 9.2 в нг 9.2, т.е. именно эти а не более старые версии?
просто оба скрипта идентичны, в моем варианте изменены имена ячеек таблиц там где они изменились в новой версии + добавлена работа с файлами...
Парни, только советуя флакс или пан сразу предупреждайте об их основной проблеме:
в них нет возможности создавать под- под- под- и т.д. категории
если структура форума будет простая (например как здесь) - раздел-категории-топики, то возможно выбор простых панов/флаксов оправдан...
если же планируется создавать развитую структуру с разделами-подразделами-подразделами подразделов то они не подойдут
в этом случае рекомендую обратить внимание на SMF - он тоже очень хорошо умеет держать высокие нагрузки, но лишен указанного недостатка
вторая проблема - дизайн
в пане или флаксе верстка с одной стороны - мечта верстальщика (вау - без таблиц, все на дивах, семантично, кульно, круто и т.д.), но:
- то что они сделали в линейке 1.3 может жестоко отпугнуть новичка (в 1.2 было гораздо проще, хотя для реализации некоторых финтов приходилось лезть в сам движок)
- сам дистрибутив с дефолтным шаблоном изначально идет с хаками вроде
<!--[if IE 7]><![endif]-->
что на мой взгляд не есть гуд
- чтобы сделать что-то нестандартное, непредусмотренное разработчиками - придется возиться прямо в коде двига (для примера "нажимающиеся" кнопки вот тут http://talk.webamator.org.ua/ или рандомный вопрос/ответ при регистрации там же)
в SMF для аналогичных задач не придется покидать папку с шаблоном (рандомные вопрос/ответ там вообще штатная функция)
говорю с точки зрения того, кто делал шаблоны и под 1.2, и под 1.3 (они не взаимозаменяемы), и под симплу - т.е. было с чем сравнивать
третья проблема - русскоязычная поддержка... возможно мое мнение субьективно, но у симплы она качественее - 99% проблем отпадают просто при внимательном чтении форума поддержки... у пана даже не знаю как назвать - распальцованные, что ли... типа "не спорь со мной у меня 18 см - иди в гугл или кури мануалы"
лично я уже больше года и для себя и для заказчиков использую симплу и ни разу не пожалел
в операх бока, причем не нашел четкой закономерности от чего они зависят
на некоторых сайтах работает, если первый раз открыть... если закрыть (нажав на иконку) и открыть снова - не работает
на других не работает вообще. никак.
от чего зависят глюки пока не разобрался - пробовал на разных компах, на разных ОС (ХРень и убунту 10.10), на разных операх (11.10 и 11), ковыряться в 70 кб скрипте не особо хочется...
дабы не плодить новых топиков и с разрешения ТС опишу как использовать альтернативный лайтбокс, который отлично работает под оперой и который работает быстрее
пример вот тут
http://leandrovieira.com/projects/jquery/lightbox/#example
за исключением того, что сам лайтбокс получился в 3.5 раза меньше, для посетителя особой разницы нету
там же и забираем архив со скриптами и стилями
так же само раскидываем файлы по папкам css, images и js
так же само подключаем... стоп, нифига не так же само - рекомендую заставить пример работать быстрее, все-таки один из плюсов нг - это скорость
первую строку из примера рекомендую заменить на вот такую
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
т.е. саму jquery (а это 50 кб) мы будем грузить не со своего сайта, а с гугловского сервера
во-первых, сэкономим трафик и ресурсы своего сервака, а во-вторых у большинства посетителей гугловский jquery уже загружен, т.е. они вообще ничего загружать не будут - ведь большинство хотя бы раз пользоваось гугловскими сервисами (почта, ютуб и т.д.)
следовательно страница откроется на пару сек. быстрее...
перед тем как добавить вторую строку из примера, рекомендую проделать следуещее:
1. сначала замените в файле jquery.lightbox-0.5.js пути к картинкам (next, prev и т.д.) - это строки 30-34
2. идем вот сюда http://service.webamator.ru/js_optimiser.php , затем вбиваем в форму содержимое скрипта и жмем "сжать"
у меня получилось Compression Ratio 53% - т.е. 20 килобайт превратилось в 9
3. результат из нижнего поля сохраняем в какой-нить файл - например jquery.lightbox-0.5.min.js (в архиве уже есть такой файл, просто менять пути в сжатых файлах неудобно - поэтому и предлагаю сначала изменить пути а потом сжать)
т.е. следующая строка у нас получается такая
<script type="text/javascript" src="{tpl_url}/js/jquery.lightbox-0.5.min.js"></script>
если вы делаете по мануалу на сайте разработчика то будьте внимательны - там в разделе "How to use" в качестве примера указан jquery.lightbox-0.4.js
строка должна содержать ссылку на корректный и существующий файл!
затем ставим вот это
<script type="text/javascript">
$(function() {
$('#gallery a').lightBox({fixedNavigation:true});
});
</script>
вот это (или свои стили - оформите как захотите)
#gallery
{
background-color: #ddd;
padding: 10px;
width: 98%;
}
#gallery ul
{
list-style: none;
}
#gallery ul li
{
float:left;
height: 120px;
}
#gallery ul img
{
border: 5px solid #ddd;
border-width: 5px 5px 20px;
padding:5px;
}
#gallery ul a:hover img
{
border: 5px solid #fffff4;
border-width: 5px 5px 20px;
color: #fff;
}
#gallery ul a:hover
{
color: #fff;
}
рекомендую поставить в конце файла jquery.lightbox-0.5.css
в итоге мы "сэкономили" около 60 килобайт по сравнению с автором лайтбокса и около 110 килобайт по сравнению с тем вариантом, что предложил graf
можно ли сделать еще быстрее?
можно - например если сделать для галлереи отдельный раздел и под этот раздел сделать отдельный шаблон... в этом случае используемые скрипты и стили будут загружаться только для страниц с фотогаллереей - все остальные не будут загружать "лишнего"
Ребята, кто скачивал - скачайте обновленный конвертер
в старом варианте была небольшая ошибка из-за которой нельзя было вставить файлы (хоть они и записывались в базу)
ошибка профиксена в архиве с названием dle_import_fix
дык это не моя работа, а модернизация чужого продукта
вся моя "работа" заключалась в изменении/добавлении десятка строк
вот, адаприровал - переносит из дле 9.2 в нг 9.2 (ровесники типа )
добавил чтоб файлы тоже в базу записывались
теги добавлять не стал, поскольку это все-же плагин и не у всех может быть установлен...
новый конвертер в аттаче - кому надо пользуйтесь