Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
stud

Контроллер для "Создание новой темы"

Рекомендованные сообщения

Подскажите, где найти файл, который формирует массив данных для шаблона создания темы (postFormTemplate) и который принимает данные введенные в этом шаблоне, вставляет их в бд.

Обшарил тут /admin/applications/forums/modules_public/ Так и не нашел ничего.

Поделиться сообщением


Ссылка на сообщение

Для модификации данных перед выводом, используйте hook вида skin overloader. Для обработки перед ставкой - library hook.

 

Говнокодить не надо, потом намучаетесь с обновлениями.

Поделиться сообщением


Ссылка на сообщение

Я хотел посмотреть значения всех переменных, которые передаются в этот шаблон и посмотреть на обработку данных, пришедших от этого щаблона, перед вставкой онных в бд.

Хочу написать свой контроллер и свой шаблон для создания темы, и хотелось бы посмотреть на обработку данных перед их вставкой в бд. Например как правильно формировать данные для поля title_seo в таблице ibf_topics.

Поделиться сообщением


Ссылка на сообщение

Назначение и обработка данных самого поста тонко размазаны по /admin/applications/forums/sources/classes/*

 

Например как правильно формировать данные для поля title_seo в таблице ibf_topics.

А зачем вам это формировать? Для этого есть готовый API добавления темы.

Поделиться сообщением


Ссылка на сообщение
07/18/12 11:03 (изменено)

А такой вопрос: можно с помощью этого API задать еще и теги темы, оно (всмыле поле "теги темы") ведь присутствуют в стандартном шаблоне создания темы.

2) У меня в таблице с топиками есть свое поле. Можно ли с помощью этого API сразу занести мои данные в это поле?

Например так:

$post->setSettings( array(
   'enableSignature' => 1,
   'enableEmoticons' => 1,
   'post_htmlstatus' => 0,
   'enableTracker'   => 0,
   'myField' => 'ololo'
) );

 

Или это возможно только через DB->update()?

Изменено пользователем stud

Поделиться сообщением


Ссылка на сообщение

Теги можете добавить, задав перед вызовом addTopic значение $_POST['ipsTags'] (в нем просто идут теги через запятую).

 

А вот собственное поле придется заполнять отдельным запросом.

Поделиться сообщением


Ссылка на сообщение

А как мне получить id только что созданного топика при помощи $post->addTopic();?

Этот метод, насколько я понял, после создания топика делает еще что-то типа $this->registry->output->sendOutput(); (тоесть header('Location: к_списку_топиков') и exit();)

И весь код ниже $post->addTopic() никогда не выполнится.

Я просто хочу после создания топика сразу же заполнить некоторые свои поля в таблице топиков. Для этого мне нужно получить id только что созданного топика.

Поделиться сообщением


Ссылка на сообщение

Никаких редиректов он не делает, никакой контент не выводит - это же API, с чего бы ему вдруг? Этот метод просто возвращает TRUE, если все прошло на ура, или кидает эксепшен, если что-то не задалось.

 

if ( $post->addTopic() === TRUE ) {
  $new_topic = $post->getTopicData();
  $new_post = $post->getPostData();
}

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...