Магазин
Правила Ответы на вопросы Конфиденциальность
Магазин
Правила Ответы на вопросы Конфиденциальность
  • Быстрые действия Ярлыки
    Общие действия
    Связаться с администрацией
    • Бот

       

Вопросы, ответы и примеры решений

  • Список форумов
  • ppkBB3cker
  • Вопросы, ответы и примеры решений

Как добавить новое поле (не "дополнительное")?

запись не в post_text таблицы phpbb_posts

5 сообщений
 • Страница 1 из 1
Просмотры: 680 • 
Stepler
Пользователь
Сообщения: 24
Зарегистрирован: 09 май 2011, 18:30
Сообщение 21 май 2011, 22:18
Мне нужно добавить поле "Номер фильма". Данные с этого поля не будут выводится в посте; указанное число (номер фильма) должен располагатся не 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 работал и для тем в трекере? Или какой-то иной способ создать поле с отдельной записью в БД?
Stepler
Аватара пользователя
PPK
Администратор
Сообщения: 10514
Зарегистрирован: 21 мар 2009, 17:13
Сообщение 22 май 2011, 11:35
Если не ошибаюсь, этот мод позволяет лишь добавить описание для создаваемой темы, а не "создавать новые поля с нужным расположением данных в БД", он должен нормально работать и в трекере, как минимум нужно в инструкции где описывается правка шаблонов, править и шаблоны трекера, т.е. если указано: изменить что-то в файле viewtopic_body.html, то-же самое нужно сделать и в viewtopic_tracker_body.html и т.д.
PPK
Stepler
Пользователь
Сообщения: 24
Зарегистрирован: 09 май 2011, 18:30
Сообщение 22 май 2011, 13:32
Да, при точном выполнении инструкции мода создается поле description с записью данных в таблицы phpbb_drafts (поле `draft_description`) и phpbb_topics (поле `topic_description`), но так как порядок действий универсальный, то аналогично можно сделать поле с любым названием, заменив, например, все "description" в инструкции на "number" (или другое название).
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 с такой строкой один, т.е. нет такого же файла исключительно для трекера.

Получается менять надо не так и не все. Структуры же файлов трекера я не знаю.
Могу выложить инструкцию мода, может подскажете простое решение. Если оттуда выкинуть все лишнее, то она не большая.
Stepler
Аватара пользователя
PPK
Администратор
Сообщения: 10514
Зарегистрирован: 21 мар 2009, 17:13
Сообщение 23 май 2011, 14:24
это файлы стиля просильвер которые нужно менять
  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
PPK
Stepler
Пользователь
Сообщения: 24
Зарегистрирован: 09 май 2011, 18:30
Сообщение 24 май 2011, 00:01
Частично решил проблему.

Сравнил 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" появилось. Сделал пробную раздачу с заполнением этого поля - все работает.

"Частично" решил потому что мне в итоге от мода нужно было не поле "description", а свое, с другим названием. Как его сделать согласно инструкции мода я знаю. Смущает вышеприведенный код с переменными {L_DESCRIPTION} и {TOPIC_DESCRIPTION}, которые существовали без всяких вставок из мода.
Получается если я захочу создать поле с другим названием мне надо будет изменять и эти переменные? Где они описываются?

Добавлено спустя 11 часов 53 минуты 24 секунды:
Stepler писал(а):"Частично" решил потому что мне в итоге от мода нужно было не поле "description", а свое, с другим названием. Как его сделать согласно инструкции мода я знаю. Смущает вышеприведенный код с переменными {L_DESCRIPTION} и {TOPIC_DESCRIPTION}, которые существовали без всяких вставок из мода. Получается если я захочу создать поле с другим названием мне надо будет изменять и эти переменные? Где они описываются?
И с этим разобрался.

РРК, спасибо за наводку.
Stepler
5 сообщений
 • Страница 1 из 1

Вернуться в «Вопросы, ответы и примеры решений»

Time: 0.000s | Queries: 0 | Peak Memory Usage: 0.00 МБ | GZIP: Unknown | SQL Explain
  • Список форумов
2018, made with by ThemeKita Создано на основе phpBB® Forum Software © phpBB Limited Русская поддержка phpBB (C) 2009-2025 @ PPK
  • Часовой пояс: UTC+04:00
Участники темы
Список форумов Участники темы
Перейти
Сайт ↳   Новости по сайту ↳   Новости обновлений ↳   Вопросы по сайту ↳   Non-russian speakers forum phpBB 3.1-3.3 ↳   Вопросы по phpBB 3.1-3.3 ↳   Расширения для phpBB 3.1-3.3 ↳   Условно-бесплатные расширения ↳   Платные расширения ↳   Расширения для подписчиков ↳   Расширения в разработке ↳   База расширений ↳   Стили для phpBB 3.1-3.3 ↳   Переводы расширений для phpBB3.1-3.3 ↳   Поиск и запросы расширений ↳   Запросы расширений, функционала и переводов для подписчиков ppkBB3cker ↳   Новости по трекеру и обновлениям ↳   Ошибки, проблемы, недочёты ↳   Предложения по новым функциям и возможностям ↳   Вопросы, ответы и примеры решений ↳   Моды и стили для трекера ↳   Готовые стили для трекера ↳   Запросы стилей для трекера ↳   Стили в разработке ↳   Готовые моды для трекера ↳   Запросы модов для трекера ↳   Моды в разработке ↳   Остальное ↳   F.A.Q. ↳   Ваши трекеры ↳   Оффтопик xbtBB3cker ↳   Новости по трекеру и обновлениям ↳   Вопросы, ответы, ошибки и обсуждение phpBB 3.0 ↳   Другие моды для phpBB3 ↳   Минимоды и хаки для phpBB3 ↳   Вопросы по phpBB3 ↳   phpBB3 ppkBB3cker Edition ↳   Платные услуги, моды, стили ↳   BB2Spoiler/BB3Spoiler ↳   BB3Topics ↳   BB3Sape ↳   BB3UserAgentInfo