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

Верстка forumIndexTemplate.html

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

Моя версия IPB: 3.2.3

 

При верстке списка категорий и списка форумов особых трудностей не возникло, а вот при подходе к верстке списка тем форума, как то озадачился...

 

До селе не виданная мной структура верстки... Алгоритм выведения информации...

 

В списке форумов все понятно. Есть переменные, отвечающие за вывод той или иной информации ({$forum_data['topics']} и т.д.), а в списке тем, я так понимаю функция {parse striping="forumTable" classes="row1,row2"} отвечает за вытягивание информации с форума...но по какому принципу...как... и как править - понятия не имею...

 

Задачи:

 

post-49214-0-94631900-1329948023_thumb.jpg

 

1. Под № 1 - переместить в столбец - "Автор"

2. Под № 2 - добавить в конце названия в столбце "Название"

3. Под № 3 - переместить в столбец - "Ответов"

4. Под № 4 - переместить в столбец - "Обновление"

 

Таблица заголовка списка в нормальном виде, добавляются/удаляются столбцы, но это не часть таблицы с данными... т.е. еще надо добавить 1 столбец с данными (под столбцом "Обновление" нет данных)

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


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

{parse striping="forumTable" classes="row1,row2"}

Это не извлечение данных, это всего лишь чередовалка.

 

{parse striping="example" classes="дурак,не дурак"}
Вася {parse striping="example"}
Петя {parse striping="example"}
Саша {parse striping="example"}
Ваня {parse striping="example"}

====

Вася дурак
Петя не дурак
Саша дурак
Ваня не дурак

 

Вообще IPB построен по принципу MVC, и шаблоны никогда никаких данных нигде не запрашивают. Все необходимые данные передаются в шаблон при вызове. Например, список тем названного шаблона приходит в составе переменной $topic_data. С помощью конструкции:

<foreach loop="topics:$topic_data as $tid => $data">

выполняется проход по всем записям этого массива, при этом на каждый проход в $data оказывается определенный набор информации о теме.

 

Чтобы узнать, какой именно, можно на тестовом форуме вписать после этой строки строку:

<php>print_r($data); die;</php>

 

И при запросе страницы списка тем вместо него вы получите дамп содержимого перменной $data в формате списка "[имя поля] => 'значение_поля'". Выбирайте нужные поля и используйте в шаблонах как {$data['имя_поля']}.

  • Upvote 2

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


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

Чтобы узнать, какой именно, можно на тестовом форуме вписать после этой строки строку:

<php>print_r($data); die;</php>

 

И при запросе страницы списка тем вместо него вы получите дамп содержимого переменной $data в формате списка "[имя поля] => 'значение_поля'". Выбирайте нужные поля и используйте в шаблонах как {$data['имя_поля']}.

 

Дамп получил... Но все равно не понятно, как переменную использовать в шаблоне списка тем...

                                        <!-- BEGIN TOPICS -->
<if test="hastopics:|:is_array( $topic_data ) AND count( $topic_data )">{parse striping="forumTable" classes="row1,row2"}
<foreach loop="topics:$topic_data as $tid => $data">
<if test="$data['pinned']">
<if test="$this->hasPinned=1">
</if><else />
<if test="$this->hasPinned">
<if test="$this->hasPinned=0">
</if>
<tr class='subhead altbar'>
<th scope='col' colspan='<if test="endannouncements:|:$this->memberData['is_mod'] == 1">6<else />5</if>'>
Темы форума
</th>
</tr>
</if>
</if>

{parse template="topic" group="forum" params="$data, $forum_data, $other_data, $inforum"}
				</foreach>
			<else />
				<tr> 
					<if test="notopicsspan:|:$this->memberData['is_mod'] == 1">
						<td colspan='6' class='no_messages'>
					<else />
						<td colspan='5' class='no_messages'>
					</if>
						{$this->lang->words['no_topics']}
					</td>
				</tr>
			</if>
		</table>

 

Для примера, каким образом вычленить "ответы" в отдельный столбик (в примере верстки стандартного шаблона).

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


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

Вот же строчка в коде.

{parse template="topic" group="forum" params="$data, $forum_data, $other_data, $inforum"}

Открываете шаблон topic (находится в той же группе, что и forumIndexTemplate), там и ответы, и просмотры, и ....

  • Upvote 2

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


Ссылка на сообщение
02/24/12 06:44 (изменено)

Вот же строчка в коде.

{parse template="topic" group="forum" params="$data, $forum_data, $other_data, $inforum"}

Открываете шаблон topic (находится в той же группе, что и forumIndexTemplate), там и ответы, и просмотры, и ....

 

Ахааа!!! шаблон topic!!! Я то по наивности искал в forumIndexTemplate...

Благодарю! Теперь все понятно.

 

Хотя там и написано {parse template="topic"... За три недели сложно успеть изучить все)

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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