Вы не зашли.
поползав по форуму понял, что у всех сходные проблемы:
оформление главной страницы, публикация материалов в разной форме на разных страницах...
предлагаемые решения - не более, чем затычки.
текущие проблемы, как мне кажется, связаны с тем, что в системе понятия "шаблон main" и категория "главная" связаны жестко. и шаблон "main" является не общим шаблоном оформления страниц, а еще и оформлением главной категории. + понятие "главная" вынесена в отдельный контекст, что сильно мешает
предлагаю следующее решение по модификации системы, решающее сразу много проблем:
- есть шаблон "main" в нем есть специальная область {mainblock}
- есть категории, создаваемые пользователем. даже "главная" создается пользователем (ну или по умолчанию уже есть при инсталяции)
- далее, для каждой категории пользователь указывает шаблон, который будет использован в области {mainblock} при выборе пункта меню, связанного с этой категории.
(сейчас так работают статичные страницы - надо просто распространить это на категории)
- при публикации новости человек просто задает набор категорий, к которым относится новость (где она будет отображаться)
- для каждой категории создаются шаблоны публикации новостей в них. таких образом, одна и та же новость при публикации в разные категории может выглядеть по разному (пример: новость "встреча" выглядит либо как таблица с указанием где и когда, либо просто как короткое объявление)
- когда надо применить плагин, он просто прописывается в шаблон категории или статик страницы (например, {lastnews_discount})
- в настройке плагина добавляется поле "категории", куда пользователь набирает, в какой категории (каких категориях) он будет активен (надо, если общий шаблон для разных категорий). (это вместо текущих "морда" и т.д.)
- в плагинах, допускающих множественное использование, типа ads, lastnews вводится поле "имя" для вызовов типа {ads_banners}, {lastnews_discount} вместо теперяшнего {ads1}
- в lastnews делается возможность создавать с панели управления несколько лент, указать имя экземпляра и включенные в публикацию категории
ну и убираются текущие понятия "морда", "публиковать на главной" за ненадобностью
дальнейшие трудности в использовании связаны с тем, что
категория = меню = страница = вид
если разделить понятия "данные" и "вид", получится более удобная схема
данные - категория - модуль - страница и отдельно "меню", которых может быть несколько
"данные" - материалы, статические, либо новостные
"категория" - атрибут данных для обработки, поиска, публикации, и др.
"модуль" - вид представления материала на странице
"страница" - набор "модулей"
"меню" - набор ссылок. в идеале как минимум двухуровневая.
ну и плагины, которые подразделяются на обработчики и визуализаторы
Изменено Dmil (2009-05-21 10:48:43)
Не в сети
Вся твоя куча букв, делается, В ЛЕГКУЮ. 10-15 строчек, только надо написать.
Ты лучше напиши (или ссылку на сайт для примера), что ты хочешь получить и тебе быстренько напишут, как это сделать. И на этом примере все поймешь, как тут все супер работает.
ЗЫ.Научи как ты так много слов генерируешь за короткое время.
Не в сети
я уже вижу как тут все супер работает...
в шаблоне блоки {ads1}, {ads2}, {ads3} которые непонятно, что значат.
в самих блоках вместо текста html коды и скрипты
+ ручками код править в 10-местах (и ещё не забыть, где правил, если переустановить надо)
+ писать запросы sql
+ не работающее меню (попробуйте-ка подсветить пункт меню "главная"!)
+ вместо стройной концепции - заплатки в плагинах в виде "морда" - "не морда"
а вопросы я свои публиковал в "как сделать..." на 9 из 10 ответов нет.
на еще пару - мне прислали патчи
это разве супер-система?
Изменено Dmil (2009-05-18 18:21:01)
Не в сети
Это именно - Супер система.
Про {ads} писать бессмысленно, ибо если ты до сих пор не понял, что они значат, то ...
-не в 10 местах, а в 2 (index.php и lastnews.php (как правило этого достаточно))
-зачем тебе надо писать sql запросы?
+согласен, меню не фонтан
Ты просто так задаешь вопросы в "как сделать...", что ни Х не понятно, что ты хочешь.
Ты лучше напиши (или ссылку на сайт для примера), что ты хочешь получить и тебе быстренько напишут, как это сделать. И на этом примере все поймешь.
Не в сети
я и написал уже раз 5:
- мне надо оформить главную страницу. не получается! причина - невозможность создания своего шаблона для этой страницы.
при попытках выкрутится, описанных на форуме, перестают работать подсветки меню и галки "опубликовать на главной" теряют свой смысл.
- использование блоков ads с параметром "морда" не работает, если элементом дизайна старниц являются бордерные таблицы. границы пустых ячеек видны на других страницах
- стоит в настройках категории прописать alt url - и пункт меню перестает подсвечиваться
- создание мультимедиа галереи непонятно
- выдача новостей через lastnews из заданных категорий требует работы с ID категорий, а не с именами, что затрудняет понимание и создание сайта, а в некоторых случах это требует еще и выписывание sql запросов.
где ответы по существу?
пример оформления главной страницы:
модуль "скидка месяца" - показ ближайшей к дате просмотра сайта новости категории "скидка"
модуль "занятия сегодня" - показ новости категории "занятия" для текущей даты посмотра
модуль "о сайте" - короткая версия текста с переходом на полный текст статик страницы
модуль дизайна с картинками и текстом
модуль ленты новостей, где новости из разных категорий показываются единым шаблоном
ну и ес-но дложны подсвечиваться все пункты меню при переходе на все категории, включая "главную" и статик страницы.
ну и? предложения как это сделать?
Изменено Dmil (2009-05-19 14:31:54)
Не в сети
мне надо оформить главную страницу. не получается! причина - невозможность создания своего шаблона для этой страницы.
при попытках выкрутится, описанных на форуме, перестают работать подсветки меню и галки "опубликовать на главной" теряют свой смысл.
возможность есть как в виде хака, так и с помощью ads. при обоих способах подсветка меню работать не перестает.
что значит "галки "опубликовать на главной" теряют свой смысл"?
использование блоков ads с параметром "морда" не работает, если элементом дизайна старниц являются бордерные таблицы. границы пустых ячеек видны на других страницах
отписал в другой теме
стоит в настройках категории прописать alt url - и пункт меню перестает подсвечиваться
я давал фикс, чтобы они подсвечивались, он чем-то не устроил?
создание мультимедиа галереи непонятно
что есть "мультимедиа галерея" в твоем понимании, и причем тут CMS? для галерей есть соответствующие скрипты -- Gallery2, к примеру
выдача новостей через lastnews из заданных категорий требует работы с ID категорий, а не с именами, что затрудняет понимание и создание сайта, а в некоторых случах это требует еще и выписывание sql запросов.
пфф... что за бред? покажи-ка пример, где для этого требуется выписывание sql-запросов. id категории смотрится в админке и вписывается в код, какие тут могут быть затруднения?
Не в сети
- покажите, плиз, где описан фикс с url-ами - не нашел, попробую
- по поводу своего шаблона для каждой категории. делал так:
вставил патч в index.php где для каждой категории пописал вызов своего шаблона
прописал DirectoryIndex index.php?category=main
перестали подсвечиваться активные пункты меню
и при этом "опубликовать на главной" приводит к публикации материала в никуда.
- цитата из ридми ластньюс:
"> function plugin_lastnewsGenerator($orderby = '', $categories = array(), $overrideParams = array());
Данная функция принимает следующие параметры:
$orderby - порядок сортировки новостей в БД (напрямую передаётся в SQL запросе).
Используйте с осторожностью, т.е. неправильное указание вызовет ошибку исполнения."
я, конечно, утрировал про прямой запрос, но тем не менее...
суть замечания следующая - формы запросов дожны быть не в коде программы, а юзер-меню в виде галочек и стрелочек и с проверками ввода, чтоб не накосячить.
- по поводу ласт ньюс и ID. ей-богу не понимаю, почему надо заставлять пользовать ID. в чем сложность в программе по имени категории узнать её ID для формирования запроса? и не заставлять человека опрерировать машинноподобными терминами. комп для человека, а не человек для компа!
- тоже самое по поводу формирования имен блоков. ads1. ads2. lastnews1, lastnews2...
что мешает распарсить имя, выделить из него текст и вызвать нужный блок? чтобы было написано {ads_banners}, {lastnews_discount}
все равно сейчас оттуда цифра выделяется....
сорри за резкости:
система нравится, хочется лучшего!
Изменено Dmil (2009-05-19 15:56:10)
Не в сети
прописал DirectoryIndex index.php?category=main
не уловил сути, зачем?
перестали подсвечиваться активные пункты меню
они не перестали, просто когда скрипт встречает "index.php?category=main?category=тут_альт_имя_любой_категории" он не знает что ему подсвечивать, что вполне логично
и при этом "опубликовать на главной" приводит к публикации материала в никуда.
как это никуда? оно и приводит на главную, там их и надо искать, а категория main главной не является, как бы ты этого не захотел
покажите, плиз, где описан фикс с url-ами - не нашел, попробую
http://ngcms.ru/forum/viewtopic.php?id=437
по поводу ласт ньюс и ID. ей-богу не понимаю, почему надо заставлять пользовать ID. в чем сложность в программе по имени категории узнать её ID для формирования запроса? и не заставлять человека опрерировать машинноподобными терминами. комп для человека, а не человек для компа!
а если есть две категории с одинаковым названием? вот-вот, а id уникален
Не в сети
- DirectoryIndex index.php?category=main прописан, чтобы при открытии сайта открылась моя задизайненная главная страница.
- ес-но, что моя главная при этом не является главной для программы! так ведь это сделано, чтобы решить проблему дизайна поля главной страницы. других-то внятных решений пока не видно!
- по поводу уникальности имен категорий:
а это всего-навсего проблема юзер интерфейса ввода alt name и не более того. запретите иметь одинаковые alt name и все!
Не в сети
так ведь это сделано, чтобы решить проблему дизайна поля главной страницы. других-то внятных решений пока не видно!
о боги...
вот топик: http://ngcms.ru/forum/viewtopic.php?id=29
применяешь второй хак, используешь для главной mainroot, для всех остальных main
никакого ?category=main там ни разу не нужно
запретите иметь одинаковые alt name и все
название категории != альт. имя. или тебе теперь нужно по альт. имени, а не по названию? определись уж
Не в сети
просмотрел еще раз ветку.
там много чего написано.
вы об этом коде?
if ((!$action)&&(!$category)&&(!$cstart)&&(!$year)&&(!$month)&&(!$id)) {
$masterTemplateName = 'mainroot';
}
я его, видимо, пропустил когда смотрел до этого.
это он позволяет иметь свой шаблон поля главной страницы?
и тут не решен еще один вопрос:
- с помощью xfileds созданы доп. поля для новостей. создан шаблон для отбражения новости данной категории (например, таблица)
теперь, если надо показать новность на главной, она отображается в виде таблицы, а не главным шаблоном
- при генерации запросов в lastnews ес-но использовать не имя, а alt name
Изменено Dmil (2009-05-19 16:54:54)
Не в сети
с помощью xfileds созданы доп. поля для новостей. создан шаблон для отбражения новости данной категории (например, таблица)
теперь, если надо показать новность на главной, она отображается в виде таблицы, а не главным шаблоном
при отображении новости используется шаблон, указанный в настройках категории. если надо отобразить новость на главной с другим шаблоном, можно использовать lastnews. если я правильно вопрос понял.
Не в сети
да, в lasеnews все отображается как надо, единым шаблоном.
но опять же косяк - использование галки "опубликовать на главной" в этом случае невозможно.
и она полностью теряет свой смысл.
приходится все задачи по селекту категорий для отображения переложить на lastnews.
и прописывать все нужные категории для отбражения через ID.
и если потом добавил/удалил категорию - не забыть залезть в код плагина, и, проверив ID категории, добавить/удалить ее из запроса.
есть более человеколюбивые варианты?
Изменено Dmil (2009-05-19 17:23:46)
Не в сети
Скока букф )) Вставлю свои две копейки )) Dmil, сама не очень давно работаю с NG однако никаких проблем с "преобразованием/воплощением" чего-либо из полета своих мыслей не возникало, и это при том, что я не программер, а дизайнер/верстальщик.
По теме - думаю стоит сразу сказать, что NG пишут не для тебя, а под "обобщающий функционал" в целом, а не как тебе хочется или как удобно, по гибкости NG превосходит многие платные системы, это если учесть, что работала не с одним десятком. Второй момент - это еще молодая система, и третий момент - пишут ее не сто и даже не десять человек, посему "скорость" внесения/добавления/..... чего-либо в функциональность системы не может опережать скорость идей.
Свои конструктивные идеи или пожелания можно и спокойней выражать, а не из серии, что за нах такой, тем более за это по голове никто не настучит, а стараются помочь.
Не в сети
и прописывать все нужные категории для отбражения через ID.
а зачем? просто не указывай категории, тогда будут отображаться новости из всех сразу
при генерации запросов в lastnews ес-но использовать не имя, а alt name
можешь использовать вместо id вот такую громоздкую конструкцию:
$GLOBALS['catz']['тут_альт_имя']['id']
если оно и правда легче, то на здоровье
Не в сети
по поводу наездов - это не наезды, а деловой разговор.
и от большой любви
=============
- ага, спасибо, это уже удобнее.
- про отбражение всех сразу. ведь галка "отобразить на главной" не зря была придумана? например, часть новостей надо публиковать в одном модуле, часть в другом. вот и возникает необходимость в ленте новостей публиковать только заданные категории.
пример:
на главной модуль "скидка месяца". там хочется иметь новость относящуюся только к данному месяцу.
в модуле "лента новостей" эта новость уже отбражаться не должна - она и так видна. а вот новость о другой категории - надо.
вот и получается необходимость разделения отображать - не отображать.
ну и в ластньюс пока нет выбора "новость текущего дня, новости начиная с этой даты, последние новости"
- а может быть, есть возможность пропатчить код, чтобы при отображении на главной брались шаблоны news.short и news.full из корня папки шаблона для всех новостей?
--------------
- и все-таки, убрать само понятие "главная" - и нет проблем... в каких категориях разрешил отображение новости при создании - там и вывелась, и шаблоном той категории...
Изменено Dmil (2009-05-19 18:40:12)
Не в сети
- а может быть, есть возможность пропатчить код, чтобы при отображении на главной брались шаблоны news.short и news.full из корня папки шаблона для всех новостей?
Так оно так же и есть, или я о другом думаю?
- и все-таки, убрать само понятие "главная" - и нет проблем... в каких категориях разрешил отображение новости при создании - там и вывелась, и шаблоном той категории...
Оно тоже так и есть, или опять я о другом думаю, если же о самой галке, то убрать в шаблоне checked="checked" и все.
Не в сети
есть категория1, у нее шаблон1
есть категория2, у нее шаблон2
теперь при публикации новости я ставлю галку "публиковать на главной".
определяю, что новость должна быть опубликована в категории1.
открываю главную страницу.
вижу свою новость опубликованную в виде шаблон1.
теперь сделаем другое действие:
при публикации новости я ставлю галку "публиковать на главной".
определяю, что новость должна быть опубликована в категории1 и категории2.
открываю главную страницу.
в каком виде будет опубликована новость?
Не в сети
теперь сделаем другое действие:
при публикации новости я ставлю галку "публиковать на главной".
определяю, что новость должна быть опубликована в категории1 и категории2.
открываю главную страницу.
в каком виде будет опубликована новость?
При выборе шаблона публикации всегда используется шаблон первой по счёту категории.
Ответ: в шаблоне категории1.
Не в сети
ага, то есть возможен хак:
- делаем категорию "вид для публикации" со своим шаблоном.
- при публикации материала первой указываем эту категорию.
криво, но, видимо, работать будет.
нет! не работает как надо - теперь при публикации на странице категории2 тоже все печатается шаблоном категории1
есть другое решение?
мне надо следующее:
есть категория1, категория2
есть шаблоны шаблонкатегории1, шаблонкатегории2
новость публикуется: на главную, в категорию1, в категорию2
если я открываю главную страницу, мне все видеть шаблоном главной страницы
если захожу на страницу категории 1 - шаблоном "шаблонкатегории1"
если захожу на страницу категории 2 - шаблоном "шаблонкатегории2"
Изменено Dmil (2009-05-20 14:58:50)
Не в сети
Dmil:
Файл: engine/includes/news.php
За выбор шаблона при показе короткой новости отвечают строки 524-532:
// Find first category
$fcat = array_shift(explode(",", $row['catid']));
if ($fcat && $catmap[$fcat] && ($ctname = $catz[$catmap[$fcat]]['tpl'])) {
// Check if directory exists
if (is_dir($templatePath.'/ncustom/'.$ctname))
$callingCommentsParams['overrideTemplatePath'] = $templatePath.'/ncustom/'.$ctname;
}
Тебе достаточно строку:
$fcat = array_shift(explode(",", $row['catid']));
заменить на:
$fcat = trim(array_shift(explode("-", $_REQUEST['category'])));
Не в сети