Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
По поводу модуля "Страница в PDF"

Автор pandusРаздел Настройка системы и модулей

Ответов: 6
Просмотров: 2714
Последний ответ 25 Января 2017, 18:03:01
от pandus
Работа модуля Обратная связь (вставка форм в контент сайта) при XSLT

Автор ariusgroupРаздел Шаблоны XSLT

Ответов: 8
Просмотров: 6454
Последний ответ 17 Октября 2012, 15:29:17
от admin
Вывод названия и иконки модуля в панели избранных модулей

Автор SeweryssРаздел Разработка модулей

Ответов: 5
Просмотров: 4249
Последний ответ 21 Февраля 2014, 19:46:41
от e.ioffe
Вопрос по выводу дочерних страниц модуля структура

Автор shotoРаздел Шаблоны XSLT

Ответов: 5
Просмотров: 4631
Последний ответ 07 Марта 2014, 17:34:18
от e.ioffe
Показать все товары со скидкой модуля «Интернет магазин»

Автор webtrendРаздел Шаблоны XSLT

Ответов: 3
Просмотров: 1608
Последний ответ 31 Января 2016, 22:29:02
от crazygeorgio

0 Пользователей и 1 Гость просматривают эту тему.

*

izen29

  • *
  • 13
  • +0/-0
    • Просмотр профиля
Здравствуйте!

Реализую функционал модуля Форум и столкнулся с проблемой вывода формы создания новой темы. Единственное что нашел по данному предмету: http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/forum/forum_topic_post/
но так и не понял - как правильно заверстать форму, какие поля в ней должны быть, как реализовать оба сценария (и чем они отличаются). Кто нибудь реализовывал подобный функционал, просвятите плиз?

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Re:форма создания новой темы для модуля форум
« Ответ #1 : 13 Февраля 2013, 21:09:13 »
Итак... Пока не поздно - лучше выбрать другую CMS. Если кажется, что сейчас немного забыли дописать документацию и дописать кодэ - то через пару месяцев будешь сидеть и допиливать движок. Это конечно прикольно, но до поры...

Качаешь localpack... Устанавливаешь... Заходишь на форум - там одна тема создана, формы отправки новой темы нет. Форум кстати зачётный, на офф сайте можешь потыкать и посмотри сколько сообщений реально в постах и сколько выводит система. Попробуй поиск и т.п... Вообщем то ещё ололо.

Скачал localpack.... Все xslt шаблоны хранятся в xsltTpls\modules\ИМЯ_МОДУЛЯ. Соответственно для форума - xsltTpls\modules\forum. Почти для всех модулей там реализован минимальный функционал, но это не всегда.
Изучаешь, какие макросы есть у модуля форум. Тебя интересует именно topic_post. Заходим, смотрим - есть там такой файл. Смотрим как реализовано.
Заходим в localhost/pioneer_club/ , дописываем .xml - /pioneer_club/.xml. Смотрим, какой модуль и макрос у нас используется - <result xmlns:xlink="http://www.w3.org/TR/xlink" module="forum" method="conf" domain="localhost" system-build="20317" lang="ru" header="Фан-клуб Pioneer" title="Фан-клуб Pioneer" site-name="umicms.demo site" request-uri="/pioneer_club/.xml" pageId="46">
Находим файл conf.xsl или ищем по ключевому слову "conf", "$method='conf'"
Заходим, смотрим - что за на... Код из разряда a=5; if (a==5) {...}
Цитировать
<xsl:template match="udata[@module = 'forum'][@method = 'conf']">
      <xsl:param name="test_add_topic" select="0" />
......
<xsl:if test="not($test_add_topic)">
         <xsl:apply-templates select="document(concat('udata://forum/topic_post/', $document-page-id))/udata" />
      </xsl:if>
   </xsl:template>
Удаляем нафиг xsl:if, оставляем что там внутри, заходим ещё раз на форум и чудо - всё работает...

Обычно я пишу более аккуратно и более понятно, сейчас просто времени нет, а в личке обещал подсказать
« Последнее редактирование: 13 Февраля 2013, 21:12:35 от Rodogor »

*

izen29

  • *
  • 13
  • +0/-0
    • Просмотр профиля
Re:форма создания новой темы для модуля форум
« Ответ #2 : 13 Февраля 2013, 21:20:07 »
Спасибо! Сел курить))

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:форма создания новой темы для модуля форум
« Ответ #3 : 13 Февраля 2013, 21:55:06 »
Все по сути в сообщении Rodogor, добавлю только, что если вы устанавливали localpack недавно и ставили демо-сайт "интернет магазин современны", то файлы его шаблона лежат по адресу /templates/demodizzy/xslt.

Шаблон формы, которую вы вывели у себя, если проделали вышеописанное, лежит в файле  /templates/demodizzy/xslt/modules/forum/topic_post.xsl

Также, для пытливых, могу добавить что отправляется она по адресу /forum/topic_post_do/[elemeny_id]. Что однозначно подсказывает нам, что все, что ответственно за добавление темы, находиться в функции topic_post_do() в модуле forum.

чтобы наверняка, я заглянул в эту функции и увидел что она кушает поля с именами:
title - имя темы
body - сообщение, которое в коде никуда в итоге не записывается, но при этом проверяется через антиспам (странно ;))
nickname и email если отправитель незарегистрированный пользователь
login - если пользователь зарегистрированный (хотя по факту, это поле нигде серьезно не используется и не пишется в итогово созданную форму, так как если пользователь зарегистрирован, то система сама определяет его id и вытягивает всю необходимую информацию)

P.S. Rodogor, повеселил стилем рассказа))

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Re:форма создания новой темы для модуля форум
« Ответ #4 : 13 Февраля 2013, 22:49:13 »
Admin, я тут планирую сделать прям целый ряд огромных статей по тем приколам, которые я нашёл в umi, по общению с техподдержкой ну и в целом впечатление. Раскидаюсь с проектами (говорю это уже почти пол года) и повеселю от души.

Поправка про путь к xslt шаблонам и demodizzy - я действительно с путями напутал, давно уже не видел оригинал. Всё что пошло через меня обновлять больше нельзя, а вылавливать глюки в новых обновлениях мне надоело. Ради интереса порой что-то обновляю и смотрю как там в коде что сделали, может чего путёвого.