ILija 0 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 Мне требуется выполнить следующее: Есть некая категория в ней содержаться новости, при любом переходе на эту категорию, естественно, производится вывод списка новостей содержащихся в данной категоии. Задача: 1. В админ панели обеспечить привязку некоей статьи по её id (чтобы попроще - новое поле в редакторе категорий, где я произвольным образом смогу вводить числовое значение, известное мне наперёд, без вывода каких-либо списков новостей). 2. При клике на любую ссылку на категорию (будь-то speedbar или, даже, прямой урл в адресной строке), к которой я привязал прямую ссылку на статью (см. п.1) должна будет выводиться эта самая полная новость-статья (!), а не список новостей в категории. Вопрос: возможно ли это проделать небольшими усилиями (понятно, что возможно всё) и если да, то где нужно копаться. Реализация п.1 не вызывает никаких проблем, с п.2 , даже, не знаю где нужно копаться. Прошу помощи от знающих людей. Для примера: http://www.craftsman-russia.ru/about/history/ и http://stroyotriad.ru/projects.html Линковать мне нужно именно новости (используемые в качестве статей), а не статические страницы. Только сегодня купил лицензию на год, доступа к разделу поддержки пока не получил, сайт - internetsad.ru - пока только html-страничка Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 Судя по вашим примерам это обыкновенные статические страницы. Создаете статическую страницу и ставите на нее ссылку на сайте. Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 (изменено) Автор Судя по вашим примерам это обыкновенные статические страницы. Создаете статическую страницу и ставите на нее ссылку на сайте. Спасибо за уделённое внимание, но на этих сайтах не статика. http://phaeton.ru/infocom/1c/ - вот тут железно не статика - разрабатывал дизайн, знаю точно. Просто в использованном движке (самописный) применена концепция отличная от применяемой в DLE. В нём раздел-категория сам собою являет статью, т.е. при добавлении статьи получается одновременное добавление раздела (статья и раздел одно и тоже). Вроде эту концепцию называют "статья-узел", а концепция DLE "категория-узел" и хотя последняя является, как мне кажется, более современной (судя по набору популярности блогов и порталов). В указанном примере меню слева динамическое и отражает как раз подход "статья-концепция". Я уже написал динамическое меню категорий (стырил код из categories.php ;-) ). У меня в голове два варианта реализации проблемы: 1. Простой-корявый: - Производить выборку всех новостей в массив во время редактирования категорий (параметры id, alt_name и parentid), - далее по паренту определять статью в этой категории (нарочно единственную в этой категории), - а дальше просто в ссылку очередной опции динамического меню ( $link = "<a href=\"".$config['http_home_url'].get_url($id)."/\" target=\"_blank\">" ) дописывать id - alt_name.html (для включённого ЧПУ) - и чего-то сделать аналогичное со speedbar -ом, пока не знаю где править. 2. Сложный-грамотный: - Что-то где-то сделать, чтобы не приходилось нагружать БД запросами. Привести к виду, как в поставленном вопросе. На мысль правильности навёл аналогичный способ в RBC Contents 4.0 - при создании/редактировании категори можно ставить галочку "связть документ". Изменено 27 июня 2008 пользователем Илья Д. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 под словом статические страницы, это не совсем то что вы поняли. В DLE есть функция добавления и управления статическими страницами. Также как торой вариант: категориями можно управлять, назначая им собственные шаблоны отличные от основного, и для определенных категорий можно назначить другие шаблоны, и в одних категориях писать новости как новости, а в других в виде статей, т.е. без комментариев и прочего. Я не вижу в ваших примерах необходимости вносить какие либо модификации в код DLE- Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 (изменено) Автор Я не вижу в ваших примерах необходимости вносить какие либо модификации в код DLE- Прошу простить за неясность формулировки. Я понимаю специфичность задачи и не ставлю вопроса доработать движок - он и так способен на многое, а по сему прошу подсказки: где в коде можно было бы поковырятся самостоятельно, а вдруг получится + не знаю как реализвать динамическое меню из статических страниц, да и в новостях заметно больше параметров и они мне очень нравятся а на 50 - 100 подразделов шаболнов не напасёшься Изменено 27 июня 2008 пользователем Илья Д. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 эта функция находится в файле engine/modules/function.php но мое мнение что вы напрасно усложняете себе жизнь. Можеть быть вам нужно что то иное, но предоставленные примеры я бы мог точно сделать в виде полной копии на DLE, неизменив при этом ни кусочка кода. Но вам видней. Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 Автор Если же привязка к категории новости является задачей крупномасштабной (не могу определить самостоятельно), то остановлюсь на первом варианте эта функция находится в файле engine/modules/function.php но мое мнение что вы напрасно усложняете себе жизнь. Можеть быть вам нужно что то иное, но предоставленные примеры я бы мог точно сделать в виде полной копии на DLE, неизменив при этом ни кусочка кода. Но вам видней. Спасибо за подсказку - покопаюсь. А в случае реализации подобных проектов вашими методами, можно добавлять информацию при помощи раздела админки "добавить новость"? Уж очень мне нравится эта функция по эргономичности и функциональности. Т.е. таким образом чтобы не прибегать к редактированию (созданию новых индивидуальных) шаблонов, чтобы вывод производился в {content} Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 Ну конечно. Делаете например категорию "Новости", а в ней соответствующие подкатегории, также делаете категорию например "Статьи" и в ней делаете соответствующие нужные подкатегории, для категории "Статьи" и ее подкатегорий назначаете специальный упрощенный шаблон, без комментариев, голосований и прочего, и пишите нужные статьи, там где нужны новости с комментариями, пишите как новости в раздел новости. Все. Навигация ставится в DLE в ручную в шаблоне как угодно. В Итоге вы получите на сайте и новости и статьи. Но все это бует управлятся через управление новостями. Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 Автор Для себя я так и делаю: есть категория "Новости", а есть категория "Руководство", с соответствующими подкатегориями, куда собираюсь складывать новости в виде статей. Вопрос в том, чтобы не производился вывод статьи в виде "краткого содержания", а в виде "статья целиком" (она будет единственной в каждой подкатегории) без лишнего (в данном случае) перехода "Подробнее...". Т.е. в категории "Новости" оставить как есть, а для категории "Руководство" избежать перехода "Подробнее...". Конечно можно в шаблоне сымитировать вывод краткой новости в виде полной статьи, убрав от туда ссылку "Подробнее...", но тогда теряется ряд ф-ий, хотя бы "печать". Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 Легко, в кратком содержании напишите полностью всю статью. Из шаблона уберите все ссылки на подробнее и прочее. оставляете один тег вывода краткой новости в шаблоне и всех делов. Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 Автор Да, именно, я про тоже. Этот вариант я думал реализовать самым первым делом. Но проблема в том, что не будет реализованы теги: {pages} [print-link] и [/print-link] {related-news} не будет опроса в самой статье хотя, может проще приписать эти функции к выводу короткой статьи, чем заморачиваться с концептуальными переработками. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 да этих тегов не будет. Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 Автор я еще подумал: если мне понадобится аннотирование статьи (на главной, например), то я не смогу этого сделать с вариантом псевдо-полноая статья. По привязке статьи: появилась идея (вроде светлая) подправить саму ф-ию get_url() ! Предполагаю следующие действия: я прописываю в БД в таблице dle_category новое поле, допустим "child", подправляю categories.php таким образом, чтобы обеспечивалась возможность ввода id новости (куда-нибудь вставлю <input>, пока точно не определился, но задача несложная), а затем (!) в functions.php правлю get_url() (спасибо за подсказку celsoft -у), где в случае, если значение определено, дописываю урл [id]-index.html Верно ли определил действия? Правда одна маленькая заминка (в общем нефатальная - можно и пренебречь) - ввод напрямую в адресной строке, в таком случае будет вывод самой категории - вобщем переживём. А в целом мне движок очень нравится - не столько за какие-либо функции, сколько за ЭРГОНОМИЧНОСТЬ КОДА. Я - человек абсолютно не соображающий в php-программировании (я работаю аналитиком и немного халтурю дизайном и флеш-программированием), а смог разобраться, меня прямо распирает от гордости за самого себя . Я терь буду всем говорить, мол изучил и немного знаю php-программирование - спасибо celsoft! Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 июня 2008 Рассказать Опубликовано: 27 июня 2008 я еще подумал: если мне понадобится аннотирование статьи (на главной, например), то я не смогу этого сделать с вариантом псевдо-полноая статья. сможете, главная страница это совсем другая страница и там можно публиковать любые другие новости, давая ссылку на свою статью. Но думаю для статей лучше использовать модуль статических страниц, т.к. комментарии ненужны, все остальное статические страницы способны реализовать также как и новости. Более того станет доступна функция разбивки статьи на страницы.появилась идея (вроде светлая) подправить саму ф-ию get_url() ! Предполагаю следующие действия: я прописываю в БД в таблице dle_category новое поле, допустим "child", подправляю categories.php таким образом, чтобы обеспечивалась возможность ввода id новости (куда-нибудь вставлю <input>, пока точно не определился, но задача несложная), а затем (!) в functions.php правлю get_url() (спасибо за подсказку celsoft -у), где в случае, если значение определено, дописываю урл [id]-index.html как то все сложно и помойму неверно, думаю на практике возникнут проблемы, хотя конечно попробуйте. Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 30 июня 2008 Рассказать Опубликовано: 30 июня 2008 Автор С динамическим меню всё заработало. Вот только оказалось, что спидбар, не использует функцию get_url. Так что прийдётся еще со спидбаром поковырятся. А где $линк для спидбара поправить можно? Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 30 июня 2008 Рассказать Опубликовано: 30 июня 2008 (изменено) Автор О как, оказывается два раза определяется функция get_url(): в файле functions.php и functions.inc.php вставил свою строку в оба описания функции (кстати, одинаковые) - везде определяется как мне нужно в тегах {speedbare} и в {link-category}. Теперь думаю, как убрать в ссылках слэш после ...index.html - оно канеша работает, но выглядит коряво Изменено 30 июня 2008 пользователем Илья Д. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 30 июня 2008 Рассказать Опубликовано: 30 июня 2008 Илья Д., всё правильно. Один для админки functions.inc.php, другой для сайта functions.php Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 8 июля 2008 Рассказать Опубликовано: 8 июля 2008 Автор Уф, всё сделал, работает как часики В этот раз немного изменил подход: привязку осуществлять не во время редактирования/добавления категорий, а (!) во вермя редактирования/добавления новостей, что позволило избежать излишней выборки из БД, да и такой подход интуитивно-понятен (привязываются только те статьи, которые находятся внутри привязываемой категории) + устранение вероятности ошибок при привязке таких как, возможность привязать одну статью к нескольким категориям или привязка несуществующей статьи, да плюс к тому нет необходимости выяснять id новости. Дошлифую своё динамическое меню и выложу скрины админки Цитата Ссылка на сообщение Поделиться на других сайтах
roman78 0 Опубликовано: 9 июля 2008 Рассказать Опубликовано: 9 июля 2008 Илья, я так понял что все это затевалось ради "правильного" меню? Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 9 июля 2008 Рассказать Опубликовано: 9 июля 2008 Автор Илья, я так понял что все это затевалось ради "правильного" меню? Не совсем так. Ради навигации нужного мне вида. Далее всё станет ясно. Динамическое меню немножко не доделал - не знаю как подсвечивать в нём текущий раздел - думаю. Однако данной темы это не касается, а по сему выкладываю в картинках результат своего труда - всё работает именно так как мне и требовалось изначально. Для начала: Так выглядит админка - редактирование категорий, где можно наблюдать привязанные статьи и возможность их отвязать далее: Админка - редактирование новостей, где значками помечены привязанные/непривязанные статьи (-новости), привязку можно снять в этом же окне (см. красную стрелку) При добавлении/редактировании новости можно также управлять привязкой: Замечу, что я реализовал возможность привязывать к конкретной категории только те новости, которые помещены внутрь этой категории - поэтому всё управление привязкой осуществляется из управления новостями (за исключениме "отвязки" см. 1ю картинку). А теперь собственно результат: По 1 картинке видим, что категория "Сеяный газон" не имеет привязки, следовательно все ссылки на эту статью работают как обычно (вываливается перечень новостей (в сокращенном виде - shortstory), содержащихся в категории и её субкатегориях): А вот категория "Газон" имеет привязку на соответствующую статью и поэтому вываливается общая статья Любые ссылки на категорию изменяются в зависимости от привязки Цитата Ссылка на сообщение Поделиться на других сайтах
ILija 0 Опубликовано: 10 июля 2008 Рассказать Опубликовано: 10 июля 2008 Автор Да, привязка реализована для включённого ЧПУ, хотя в принципе дописать без ЧПУ не составит труда. Цитата Ссылка на сообщение Поделиться на других сайтах
error2k 2 Опубликовано: 12 мая 2012 Рассказать Опубликовано: 12 мая 2012 (изменено) Картинки, к сожалению, не грузятся. Но других похожих топиков не нашёл. Я хочу добавить описания в разделы. Это можно сделать через шаблоны, но это неудобно и требует "ручной" работы с файлами на хосте. Как можно привязать статичную страницу к разделу, чтобы она выводилась над лентой коротких новостей? Изменено 12 мая 2012 пользователем error2k Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.