Перейти к контенту
  • 0

Замена шапки форума


$vi$t

Вопрос

Интересует смена шапки (header) определённого форума, а не всего.

 

Пример:

http://www.ibresource.ru/forums/ имеет основную шапку.

а в форуме "Форумы по форуму" я хочу сделать другую шапку

в форуме "Другое" хочу сделать так, чтоб шапка была уже совершенно другой.

 

PS пробовал в админпанель, Внешний вид=>Выберите используемый скин->Редактировать HTML=>Конкретный стиль - но там так ничего и не получилось =(

Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

class_display.php

функция do_output

там цепляется шапка, функция BoardHeader()

 

напиши условие

Ссылка на комментарий
Поделиться на других сайтах

  • 0
class_display.php

функция do_output

там цепляется шапка, функция BoardHeader()

 

напиши условие

 

Извините, можно подробнее?

в class_display.php я вообще не нашёл BoardHeader, а уж тем более как определить какой нить конкретный форум.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

		//-----------------------------------------
	// Do it
	//-----------------------------------------

	$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header( $components_links );
	$this_footer  = $this->ipsclass->compiled_templates['skin_global']->global_board_footer( $this->ipsclass->get_date( time(), 'SHORT', 1 ) );

 

видимо это

Ссылка на комментарий
Поделиться на других сайтах

  • 0

мдя

а как же изменить шапку у конкретного форума я так и не понял =(

вот бы кто нить написал примет - было бы ГУД !!!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Дык сделай две шапки!

Например global_board_header и global_board_header1!

В global_board_header1 вставь твои изменения по дизайну.

В коде сделай условие

 

если форум = x вывести шапку global_board_header1 иначе вывести стандартную шапку global_board_header.

 

Ну неужели не допереть до такой ерунды?

Ты кто? Админ форума или нет?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

я поставил форум для его изучения и эксперементов

вот и любопытно, что и как сделать

да, админ форума, но в РНР шибко не шарю (по этому и задаю вопросы)(по этому и спрашиваю конкретные примеры)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ну если для экспериментов, то тогда почему не пользуешься информацией, которую я уже дал?

Я тебе дал код в посте 4, взял бы оттуда "global_board_header", нашёл бы эту штуку в форуме, хотя бы для любопытства, посмотрел бы что это такое и сразу понял бы как и что надо делать.

А единственное, что бы ты допустим не знал как сделать, чтобы она загружалась для определённого форума. Вот это бы я тебе и подсказал. Тогда, когда часть работы ты уже сделал сам.

 

Почему никто не хочет работать сам?

Почему все любят только готовый код на блюдечке с золотой каёмочкой?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я просто не понимаю где именно добавлябтся форумы.

Был один форум и одна категория. Я создал ещё три форума и в каждом по две категории.

А в админке, в "Управление стилями"=>"Изменить HTML фрагменты"=>"Основные HTML фрагменты"=>"global_board_header" код остался без каких либо изменений. =(

Или я не там копаю?

 

Дык сделай две шапки!

Например global_board_header и global_board_header1!

В global_board_header1 вставь твои изменения по дизайну.

В коде сделай условие

 

если форум = x вывести шапку global_board_header1 иначе вывести стандартную шапку global_board_header.

в РНР шибко не шарю (по этому и задаю вопросы)(по этому и спрашиваю конкретные примеры)

 

 

Учиться, учиться и учиться. (В.И.Ленин)

Вот только Ленин не сказал, что для этого нужны учителя. =(

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Не получается создать условие

//-----------------------------------------
	// Do it
	//-----------------------------------------

	$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header( $components_links );
	$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header1( $components_links );
 if ($this->ipsclass->compiled_templates['skin_global']->global_board_header( $components_links );
{
			if ($this->ipsclass-> Дальше незнаю... :(
 if ($this->ipsclass->compiled_templates['skin_global']->global_board_header1( $components_links );
	$this_footer  = $this->ipsclass->compiled_templates['skin_global']->global_board_footer( $this->ipsclass->get_date( time(), 'SHORT', 1 ) );

 

Через админку создал фрагмент шаблона global_board_header1. (только она создаётся с таким названием: global_board_header1 (custom bit) )назначил переменную $component_links="" и создал другое лого.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

if ( $this->ipsclass->input['f'] == x )

 

Был один форум и одна категория. Я создал ещё три форума и в каждом по две категории.

А в админке, в "Управление стилями"=>"Изменить HTML фрагменты"=>"Основные HTML фрагменты"=>"global_board_header" код остался без каких либо изменений. =(

 

vit, шапка в форуме одна. Других шапок нет. Нет такой возможности стандартной в форуме. И никогда не было.

 

Если вы добавляете форум, это не означает, что форум вам сам создаст ещё одну шапку.

Я описал вам способ как сделать это самостоятельно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я так понял, что код верен, только вместо

if ($this->ipsclass-> Дальше незнаю... :(

надо вставить это?

if ( $this->ipsclass->input['f'] == x )

И ещё вопрос, что нужно вставить вместо "х" - ID той или иной категории форума, или я ошибаюсь?

И, я так понял, что можно создать и global_board_headerN?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Если в новой шапке нужно поменять только дизайн, а список компонентов остаётся тот же самый, то новую переменную $components_links не нужно (это вроде логично к пониманию). В этом случае нужно передать в новую шапку ту же переменную $components_links

 

Мне кажется в коде вы что-то тут наплели с футером. Или вам и футер тоже менять надо?

 

И ещё вопрос, что нужно вставить вместо "х" - ID той или иной категории форума, или я ошибаюсь?

id форума.

И, я так понял, что можно создать и global_board_headerN?

сколько угодно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

//-----------------------------------------
	// Do it
	//-----------------------------------------

	$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header( $components_links );
	$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header1( $components_links );
 if ($this->ipsclass->compiled_templates['skin_global']->global_board_header;
{
		   if ( $this->ipsclass->input['f'] == x )
}
 if ($this->ipsclass->compiled_templates['skin_global']->global_board_header1;
{
		   if ( $this->ipsclass->input['f'] == x )
}  if ($this->ipsclass->compiled_templates['skin_global']->global_board_headerN;
{
		   if ( $this->ipsclass->input['f'] == x )
}
 if ($this->ipsclass->compiled_templates['skin_global']->global_board_header1( $components_links );
	$this_footer  = $this->ipsclass->compiled_templates['skin_global']->global_board_footer( $this->ipsclass->get_date( time(), 'SHORT', 1 ) );

 

 

Так правильно?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

		//-----------------------------------------
	// Do it
	//-----------------------------------------

	if ( $this->ipsclass->input['f'] == x )
	{
		$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header_x( $components_links );

	} elseif ( $this->ipsclass->input['f'] == y )
	{
		$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header_y( $components_links );

	} elseif ( $this->ipsclass->input['f'] == z )
	{
		$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header_z( $components_links );

	} else
	{
		$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header( $components_links );
	}

	$this_footer  = $this->ipsclass->compiled_templates['skin_global']->global_board_footer( $this->ipsclass->get_date( time(), 'SHORT', 1 ) );

 

или

 

		//-----------------------------------------
	// Do it
	//-----------------------------------------

	switch( $this->ipsclass->input['f'] )
	{
		case x:
			$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header_x( $components_links );
			break;

		case y:
			$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header_y( $components_links );
			break;

		case z:
			$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header_z( $components_links );
			break;

		default:
			$this_header  = $this->ipsclass->compiled_templates['skin_global']->global_board_header( $components_links );
			break;
	}

	$this_footer  = $this->ipsclass->compiled_templates['skin_global']->global_board_footer( $this->ipsclass->get_date( time(), 'SHORT', 1 ) );

 

или

 

вообще можно сделать только один html фрагмент global_board_footer, а все эти проверки и разное содержимое написать не в коде class_display.php а в коде скиновой функции global_board_header

Изменено пользователем Song
Ссылка на комментарий
Поделиться на других сайтах

  • 0
вообще можно сделать только одну шапку, но все эти проверки написать не в коде class_display.php а в коде скиновой функции global_board_header

Так мне ж наоборот нужно несколько шапок.

Допустим, при входе на форум по софту - шапка, ну например, с компом.

При входе на форум о семье - шапка с рисунком семьи и т.д.

Примеры привёл произвольно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А как это можно реализовать? Так вроде должно быть проще. Нужно, наверное, прописать переменные? Помоги, пожалуйста. После ночной смены тяжело идёт, а форум не ждёт :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Нет, не помогу.

Кто-то должен делать хоть что-ниубудь сам.

Вот эта статья: http://www.ibresource.ru/forums/index.php?showtopic=39178 будет тебе в помощь.

 

Предыдущее решение для всех версиий IPB здесь: Каждому форуму - своя шапка!, все версии IPB

Ссылка на комментарий
Поделиться на других сайтах

  • 0

да.

был бы я профи в этом деле, то сделал бы шаблон, а уж потом тыкал в него носом (как щенков в говно)

Лично мне теория поддаётся очень слабо, а практика на конкретных примерах усваивается гораздо легче и быстрее

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Дык сделать шаблон не надо быть семи пядей во лбу.

Это делается стандартнырми администраторскими средствами в АЦ.

 

В файлы лазать не надо, чтобы сделать новый шаблон. php знать тоже не надо.

Надо просто иметь желание это сделать и время, чтобы разобраться.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

А в чё проблема выложить?

В принципе, другим способом я сделал. Но одним файлом сколько не мыкался - не получилось. Выложи, ради интереса посмотреть как сие выглядит.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.