Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.
Добавление нового атрибута для
-
04 апреля 2019 г.
-
Здравствуйте, задача добавить новый атрибут для show_block модуля Новости, вроде бы везде всё прописал, но проблема теперь в том если не указан атрибут, то есть вообще не прописан, ничего не выводится, а если прописать, то выводит правильно, как это исправить? То есть где надо указать что если он не указан, то не обращать на него внимание
-
-
-
-
- Степан (idxdoc)
- 334
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
в news.php, в функции show_block()
-
-
Поблагодарили: Андрей (рыбсети)
-
-
-
-
04 апреля 2019 г.
-
нет, я создал в таблицу news, page_id, это номер страницы который выбирается из списка всех страниц, к странице которой будет прикреплена новость, потом делаю так <insert name="show_block" module="news" page_id="$this->diafan->_site_id"> но если не указан page_id, то есть так: <insert name="show_block" module="news"> то новости не хотят выводится
-
-
-
-
04 апреля 2019 г.
-
А если всё таки указал page_id, то выводится правильно новость, ту которую я выбрал в списке при добавлении новости
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
Вот так это всё выглядит, а если уберу page_id, то перестанет показываться, хотя должен показать все новости, если не учтено page_id
-
-
-
-
- Dmitry (weissfl)
- 161
-
04 апреля 2019 г.
-
В контроллере модуля, указать в функции get_attributes
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
Вроде указал, если правильно вас понял
-
-
-
-
- Dmitry (weissfl)
- 161
-
04 апреля 2019 г.
-
Странно, по идее get_attributes как раз таки для этого случая и необходим
-
-
-
-
-
- Степан (idxdoc)
- 334
-
04 апреля 2019 г.
-
Что за тавтология, по какой еще идее?))))
Есть код, прочитайте что он делает, а что не делает, если не понимаете, уточняйте, пока не поймете. -
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
Я хочу понять в чём ошибка, где я ещё не указал свой новый столбец, почему же <insert name="show_block" module="news"> перестал выводить все новости, пока я не добавлю page_id,а если добавил, он выводит именно те новости, которые я хотел
-
-
-
-
- Степан (idxdoc)
- 334
-
04 апреля 2019 г.
-
Что и где Вы уже сделали?
Вы подправили news.model.php функцию show_block? там добавили условие по page_id? конечно не будет ничего выводить, нужно правильно добавить условие в вызов из БД, если передалась переменная то добавляем условие, если нет, не добавляем. -
-
Поблагодарили: Андрей (рыбсети)
-
-
-
04 апреля 2019 г.
-
Вы создали в таблице page_id? Как и чего туда попадает?
А Ваш атрибут не дублирует атрибут site_id ? -
-
-
-
04 апреля 2019 г.
-
* site_id - страницы, к которым прикреплен модуль. Идентификаторы страниц перечисляются через запятую. Можно указать отрицательное значение, тогда будут исключены новости из указанного раздела. По умолчанию выбираются все страницы
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
у меня модуль Новости прикреплён к странице Новости, поэтому у всех новостей одинаковый site_id, а я в select выбираю из всех страниц, даже к которым не прикреплён модуль Новости, так как у этих страниц уже другой модуль.
page_id создан, я же говорю, так работает:
<insert name="show_block" module="news" page_id="$this->diafan->_site_id">
то есть это указывает что атрибут работает как надо, а вот если убрать этот атрибут, перестаёт выводить все новости. Хотя если убраны все атрибуты:<insert name="show_block" module="news"> то должен вывести все новости, это произошло как раз после того, когда я добавил новый атрибут -
-
-
-
- Степан (idxdoc)
- 334
-
04 апреля 2019 г.
-
Из-за названия что ли должен дублировать?))))
-
-
-
-
04 апреля 2019 г.
-
Не понял вас, о чём вы?
-
-
-
-
- Степан (idxdoc)
- 334
-
04 апреля 2019 г.
-
Забейте. Я Вам другой вопрос задал и указал на возможное решение
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
Про то, что вы говорили, в news.model.php и news.php. Где я ещё не указал?
-
-
-
-
- Степан (idxdoc)
- 334
-
04 апреля 2019 г.
-
Вместе со своим атрибутом Вы указываете на свой шаблон, когда не указываете свой шаблон, должен сработать дефолтный news.show_block.php, он случаем не пустой?
Из тех скринов что дали, тут все правильно, нужно посмотреть целиком функцию с файла news.php и news.model.php, оба файла куда выводятся данные, news.show_block.php и news.show_block_divisions.php -
-
-
-
- Андрей (R4W)
- 140
-
04 апреля 2019 г.
-
Там в модельке и в контроллере описываются эти вещи.
В метке кеша не забываем так же. -
-
-
-
04 апреля 2019 г.
-
Оно?
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
Первый скриншот show_block_divisions.php, второй show_block.php, третий это news.php
-
-
-
-
04 апреля 2019 г.
-
А где вы добавили <insert name="show_block" module="news" page_id="$this->diafan->_site_id"> ?
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
На странице где должны выводится новости принадлежащиеся этой странице. Если я добавлю, как вы указали, то выведет всё правильно, но <insert name="show_block" module="news"> который стоит на главной странице site.php, не работает в нём не должно указываться page_id, так как там выводятся все новости
-
-
-
-
04 апреля 2019 г.
-
Сложный случай у меня, хоть бы было руководство по добавлению нового атрибута чтобы он работал
-
-
-
-
04 апреля 2019 г.
-
Код
<insert name="show_block" module="news" count="2" images="1" defer="emergence" defer_title="Новости">
Может просто не правильно указан код на главной странице site.php? -
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
Ну почему то всё работало, пока я не начал добавлять новый атрибут, как только закончил, пропало всё с главной страницы, вообще странности. Поставил ваш код, появилась надпись Новости и исчезла, новостей так и нет, сейчас я попробую вернуть всё на место, удалить свой атрибут и проверить работоспособность show_block
-
-
-
-
04 апреля 2019 г.
-
show_block работает правильно, значит проблема где-то с атрибутом
-
-
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
Для экспериментов создайте лучше дополнительную тему и ей перекроете основную. Так проще будет анализировать и проверять и меньше вероятности что-то испортить в основной теме.Цитатасейчас я попробую вернуть всё на место, удалить свой атрибут и проверить работоспособность show_blockКстати, я прочёл Ваше сообщение первое по диагонали, поспешил и не то спросил сначала.ЦитатаЗдравствуйте, задача добавить новый атрибут для show_block модуля
Начать надо было с вопроса: "Что это за атрибут и какую задачу Вы при помощи него хотите решить?" -
-
-
-
04 апреля 2019 г.
-
Да уже попробовал. Проблема та же и осталась, бессмысленно создавать новую тему
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
А она создаётся не для решения проблемы в первую очередь, а для изолирования изменений и выполняет функцию контроля версий. Когда Вы полдня просидите с решением этой задачи и поменяете 10 файлов в 50-и местах и при этом потребуется или проверить работу без этих исправлений, либо откатить её, слово "бессмысленно" заиграет новыми красками.
Тема включается/отключается одной галкой в админке и удаляется при необходимости одним нажатием, не затрагивая основной код сайта. -
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
page_id это id страницы к которой прикреплена новость, не обязательно чтобы был подключен модуль. То есть есть список всех страниц на сайте при добавлении новостей(скриншот 2), там я выбираю нужную страницу, id страницы заносится в таблицу news в столбец page_id(Скриншот 1). Теперь, есть Новости на главной странице, выводится обычным <insert name="show_block" module="news">, то есть все новости. А есть подразделения, кафедры, факультеты, и у каждой свои новости, но к ним уже прикреплен другой модуль, и прикрепить модуль Новости я физически не могу. и там идёт вывод новостей так: <insert name="show_block" module="news" page_id = "$this->diafan->_site->id">
-
-
-
-
04 апреля 2019 г.
-
А не проще все это сделать чрезе динамический блок и cat_id?
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
cat_id использовать за место page_id, заносить туда id страницы? Или же подключить категории и использовать cat_id? Если категории, то я этот вариант уже попробовал, потом новости на основной странице выводятся не правильно. Выводятся категории, навигация идёт по категориям, а не по новостям. Плюс rewrite ставит ещё ЧПУ категории
-
-
-
-
04 апреля 2019 г.
-
ЦитатаЕсли категории, то я этот вариант уже попробовал, потом новости на основной странице выводятся не правильно.
Причем вообще основная страница? я написал, что вставляете блок или динамический блок на нужную страницу и в него, в блок, напишите:
Код<insert name="show_block" module="news" count="2" images="1" cat_id="2" defer="emergence" defer_title="Новости">
где в cat_id войдут нужные , отобранные новости -
-
-
-
04 апреля 2019 г.
-
Создайте нужные категории новостей. На необходимой странице вставьте динамический блок с cat_id=id нужной категории.
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
А с новостями к которым прикреплен модуль новости что делать? Там категории будут выводится, а не просто все новости. и проблемы я уже описал выше
-
-
-
-
04 апреля 2019 г.
-
Код
А с новостями к которым прикреплен модуль новости что делать?
Ничего. Это никак не связаноЦитатаТам категории будут выводится, а не просто все новости.
Нет. cat_id это фильтр -
-
-
-
04 апреля 2019 г.
-
Если подключены Категории то включается news.first_page.php так? там идёт пагинация по категориям и вывод категорий
-
-
-
-
04 апреля 2019 г.
-
Мы вообще о show_block говорим?
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
Я говорю про страницу Новости, к которой привязан модуль Новости, там стоит show_body. Хотя можно туда тоже show_block поставить, ладно, это одна проблема, а с ЧПУ что делать? будет новая новость с ЧПУ категории
-
-
-
-
04 апреля 2019 г.
-
Читаю-читаю и никак не пойму, зачем все эти телодвижения.
Вы можете тучу страниц создать и прикрепить к ним новости, потом просто раскидывать новости туда, куда нужно.
Создаем страницы и крепим к ним новости: http://prntscr.com/n7j3eg
Вот они разные страницы: http://prntscr.com/n7j3qx
Добавим новости в компанию: http://prntscr.com/n7j3zv
Добавим новости факультету: http://prntscr.com/n7j4gw
Получаем на сайте:
http://prntscr.com/n7j4o8
http://prntscr.com/n7j4u2
Или в чем точнее задача состоит? Может не стоит такие сложности изобретать, а есть более простой путь? -
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
На главной странице выводятся все новости, то есть из всех подразделений, факультетов и тд. в подразделении,факультетах уже новости которые относятся к странице подразделения или факультета. то есть не должно быть отдельных страниц новостей для факультетов, подразделений, они подставляются через show_block. На главной странице show_block, на подразделениях show_block, а на странице Новости show_body. Подключение категорий к новостям добавляет ЧПУ категории, а надо /news/new1. Ещё если перенести новость в определённую категорию, то на странице Новости, где show_body выводятся категории и навигация по категориям
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
Стоп-стоп.
Т.е. на главной выводим все вперемешку. Ну это стандарт. Вот они так и выводятся все вперемешку: http://prntscr.com/n7jmj9
Далее:ЦитатаПодключение категорий к новостям добавляет ЧПУ категории, а надо /news/new1
Зачем? Отрубите нафиг категории и заносите без категорий.
Далее на нужную страницу выводим те или иные новости:Код<insert name="show_block" module="news" count="5" site_id="12">
выведет 5 последних новостей, прикрепленных к странице 12
Вот, например, вывела на странице обработки персональных данных: http://prntscr.com/n7jpo1 -
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
У меня 50 страниц, и у каждой свои новости, если я у них поменяю модуль на новости, то их можно будет выбирать в разделах. Но проблема в том что там привязан мой модуль, поэтому я костыли делал, чтобы обойти это. Всё равно вам спасибо за помощь, если бы можно было привязывать 2 модуля, цены бы не было
-
-
-
-
04 апреля 2019 г.
-
Так не надо менять модуль на новости.
Сделайте вообще левые страницы, потом от них будете подцеплять новости туда, куда хотите, при помощиКод<insert name="show_block" module="news" count="5" site_id="12">
Вставляйте это прямо в описание и все. -
-
-
-
04 апреля 2019 г.
-
Просто вы сейчас такого напрограммируете, что потом ни разобраться никто не сможет, ни обновиться не сможете.
-
-
-
-
04 апреля 2019 г. , редакция: 04 апреля 2019 г.
-
ещё 50 страниц добавить чтобы новости сделать? Их и так 1100. Мне кажется это не очень разумная идея, хоть и поможет
-
-
-
-
- Степан (idxdoc)
- 334
-
04 апреля 2019 г.
-
nikatinstepan - skype, решим вашу задачу
-
-
-
-
08 апреля 2019 г.
-
Спасибо за помощь, уже решил задачу)
-
-
-
-
- Степан (idxdoc)
- 334
-
09 апреля 2019 г.
-
так и что было?
-
-
-
-
-
Новости
-
18 июня
-
В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
-
24 апреля
-
В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
-
12 января
-
После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке.
Блоги
-
24.04.2024
-
Выпустили новую сборку DIAFAN.CMS 7.1.4.
Блоги
-
12.01.2024
-
В данном руководстве познакомим вас с панелью управления DIAFAN.CMS