Перейти к контенту
  • 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

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

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

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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