Мне нужно добавить поле "Номер фильма". Данные с этого поля не будут выводится в посте; указанное число (номер фильма) должен располагатся не post_text таблицы phpbb_posts, а отдельно, например в той же таблице, но в столбце number_film, что бы его легко было найти.
"Дополнительные поля" (viewtopic.php?f=26&t=1083) не подходят, т.к. информация с них скидывается в общий пост в post_text и найти потом пост с нужным номером фильма будет проблематично.
Для форумов phpBB3 есть неплохой мод Simple Topic Description 0.0.2 (по-сути это просто инструкция по внесению изменений в БД и файлы форума), который позволяет создавать новые поля с нужным расположением данных в БД.
Этот мод работает, но только для новых тем создаваемых в разделе форума. В разделах где "Тип форума:"="Является категорией трекера" новое поле при создании темы не отображается.
В PHP и MySQL я малость разбираюсь, но самостояетельно проблему решить не смог. Вопрос для меня не праздный, задание номера фильма при создании раздачи необходимо мне для того чтобы связать ее (раздачу) с уже сущуствующей на моем сайте базой фильмов.
В общем знает ли кто-нибудь как сделать так чтобы мод Simple Topic Description работал и для тем в трекере? Или какой-то иной способ создать поле с отдельной записью в БД?
Как добавить новое поле (не "дополнительное")?
запись не в post_text таблицы phpbb_posts
-
St
- Благодарил (а): 1 раз
Сообщение
Как добавить новое поле (не "дополнительное")?
Если не ошибаюсь, этот мод позволяет лишь добавить описание для создаваемой темы, а не "создавать новые поля с нужным расположением данных в БД", он должен нормально работать и в трекере, как минимум нужно в инструкции где описывается правка шаблонов, править и шаблоны трекера, т.е. если указано: изменить что-то в файле viewtopic_body.html, то-же самое нужно сделать и в viewtopic_tracker_body.html и т.д.
-
St
- Благодарил (а): 1 раз
Сообщение
Как добавить новое поле (не "дополнительное")?
Да, при точном выполнении инструкции мода создается поле description с записью данных в таблицы phpbb_drafts (поле `draft_description`) и phpbb_topics (поле `topic_description`), но так как порядок действий универсальный, то аналогично можно сделать поле с любым названием, заменив, например, все "description" в инструкции на "number" (или другое название).
По инструкции мода я добавляю (только добавляю !) новые строки в файлы:
- posting.php
- search.php
- viewforum.php
- viewtopic.php
- includes/functions_posting.php
- includes/ucp/ucp_main.php
- language/en/posting.php (в моем случае language/ru/posting.php).
Я также пришел к выводу что нужно найти аналогичные файлы для трекера, но все оказалось не так просто.
Например, в файле viewtopic.php нужно после строки
$topic_data['topic_title'] = censor_text($topic_data['topic_title']);
добавить строчку
$topic_data['topic_description'] = censor_text($topic_data['topic_description']);.
Файл viewtopic*.php с такой строкой один, т.е. нет такого же файла исключительно для трекера.
Получается менять надо не так и не все. Структуры же файлов трекера я не знаю.
Могу выложить инструкцию мода, может подскажете простое решение. Если оттуда выкинуть все лишнее, то она не большая.
Я попробовал самостоятельно разобраться, но пока безуспешно.PPK писал(а):он должен нормально работать и в трекере, как минимум нужно в инструкции где описывается правка шаблонов, править и шаблоны трекера, т.е. если указано: изменить что-то в файле viewtopic_body.html, то-же самое нужно сделать и в viewtopic_tracker_body.html и т.д.
По инструкции мода я добавляю (только добавляю !) новые строки в файлы:
- posting.php
- search.php
- viewforum.php
- viewtopic.php
- includes/functions_posting.php
- includes/ucp/ucp_main.php
- language/en/posting.php (в моем случае language/ru/posting.php).
Я также пришел к выводу что нужно найти аналогичные файлы для трекера, но все оказалось не так просто.
Например, в файле viewtopic.php нужно после строки
$topic_data['topic_title'] = censor_text($topic_data['topic_title']);
добавить строчку
$topic_data['topic_description'] = censor_text($topic_data['topic_description']);.
Файл viewtopic*.php с такой строкой один, т.е. нет такого же файла исключительно для трекера.
Получается менять надо не так и не все. Структуры же файлов трекера я не знаю.
Могу выложить инструкцию мода, может подскажете простое решение. Если оттуда выкинуть все лишнее, то она не большая.
Сообщение
Как добавить новое поле (не "дополнительное")?
это файлы стиля просильвер которые нужно менять
для сабсильвера
в трекере нужно сделать то-же самое в файлахstyles/prosilver/template/search_results.html
styles/prosilver/template/viewforum_body.html
styles/prosilver/template/viewtopic_body.html
попробовать установить мод на трекер и самому проверить - у меня пока нет времени.styles/prosilver/template/search_results_tracker.html
styles/prosilver/template/viewforum_tracker_body.html
styles/prosilver/template/viewtopic_tracker_body.html
для сабсильвера
styles/subsilver2/template/posting_tracker_body.html
styles/subsilver2/template/search_results_tracker.html
styles/subsilver2/template/viewforum_tracker_body.html
styles/subsilver2/template/viewtopic_tracker_body.html
-
St
- Благодарил (а): 1 раз
Сообщение
Как добавить новое поле (не "дополнительное")?
Частично решил проблему.
Сравнил posting_tracker_body.html и posting_body.html.
В posting_tracker_body.html отсутстовали строки
После вставки и очистки кэша поле "description" появилось. Сделал пробную раздачу с заполнением этого поля - все работает.
"Частично" решил потому что мне в итоге от мода нужно было не поле "description", а свое, с другим названием. Как его сделать согласно инструкции мода я знаю. Смущает вышеприведенный код с переменными {L_DESCRIPTION} и {TOPIC_DESCRIPTION}, которые существовали без всяких вставок из мода.
Получается если я захочу создать поле с другим названием мне надо будет изменять и эти переменные? Где они описываются?
Добавлено спустя 11 часов 53 минуты 24 секунды:
РРК, спасибо за наводку.
Сравнил posting_tracker_body.html и posting_body.html.
В posting_tracker_body.html отсутстовали строки
Код: Выделить всё
<!-- IF S_DESCRIPTION -->
<tr>
<td class="row1" width="22%"><b class="genmed">{L_DESCRIPTION}:</b></td>
<td class="row2" width="78%"><input class="post" style="width:450px" type="text" name="description" size="45" maxlength="60" tabindex="2" value="{TOPIC_DESCRIPTION}" /></td>
</tr>
<!-- ENDIF -->
"Частично" решил потому что мне в итоге от мода нужно было не поле "description", а свое, с другим названием. Как его сделать согласно инструкции мода я знаю. Смущает вышеприведенный код с переменными {L_DESCRIPTION} и {TOPIC_DESCRIPTION}, которые существовали без всяких вставок из мода.
Получается если я захочу создать поле с другим названием мне надо будет изменять и эти переменные? Где они описываются?
Добавлено спустя 11 часов 53 минуты 24 секунды:
И с этим разобрался.Stepler писал(а):"Частично" решил потому что мне в итоге от мода нужно было не поле "description", а свое, с другим названием. Как его сделать согласно инструкции мода я знаю. Смущает вышеприведенный код с переменными {L_DESCRIPTION} и {TOPIC_DESCRIPTION}, которые существовали без всяких вставок из мода. Получается если я захочу создать поле с другим названием мне надо будет изменять и эти переменные? Где они описываются?
РРК, спасибо за наводку.
Вернуться в «Вопросы, ответы и примеры решений»