Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
andaril

Как добавить новый "компонент"/Страницу

Recommended Posts

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

post-5903-1219922897_thumb.png

А вот описание файла в папке ./sources/components_public/

<?php

// Класс, никогда не менять. Работать не будет
class component_public
{
// Объект ипскласса. Без него опять же не будет ничего работать.
var $ipsclass;

// Эта функция вызывается из файла index.php. Название изменять нельзя.
function run_component()
{
	/* Тайтл страницы. Можно оформить в виде простой переменной, если у вас весь код состоит из одной
	*  функции. Например $title = 'Моя страничка'; . Но не надо забывать, что переменную следует изменить в других местах тоже. 
	*  В любом случае это посылается файлу class_display.php для вывода в $this->ipsclass->print->do_output() (Смотри ниже). 
	*/
	$this->pagetitle = "Название страницы";

	/* Здесь идёт название вашей страницы.
	*  Название также будет показано в панели навигации вашего форума.
	*  Навигацию можно поменять, изменить название и прочее, сделать навигацию более сложной. Зависит от страниц
	*  Например:
	*  $this->nav[] = "<a href='{$this->ipsclass->base_url}autocom=custom'>{$=title}</a>";
	*  $this->nav[] = "Это моя страница";
	*  $this->nav[] = "А это еще одна строчка в навигации";
	*/
	$this->nav[] = "<a href='{$this->ipsclass->base_url}autocom=custom'>{$this->pagetitle}</a>";

	/* Загружаем шаблон главного стиля. Думаю не надо писать, что без этого работать не будет?
	*  Сюда по аналогии можно добавить свои шаблоны, если они, конечно, созданы. Например добавить ниже
	*  $this->ipsclass->load_template( 'skin_mypg' );
	*/
	$this->ipsclass->load_template( 'skin_global' );

	// Пустое  место. Здесь можно проводить операции перед форматированием результата в xhtml.

	/* Эта переменная отвечает за вывод уже готового результата в xhtml формате. (Можно изменить название. (Смотри ниже))
	*  Делать с ней можно все что угодно. 
	*  Например:
	*  $output .= $this->ipsclass->compiled_templates['skin_mypg']->show();
	*  Вызовет xhtml фрагмент show, группы skin_mypg (группу надо предварительно загрузить строками выше)
	*/
	$output .= "Здесь содержимое страницы, переменные, скины";

	// Пустое  место. Здесь можно проводить операции с форматированным результаом переменной $output

	/* Эти строки отвечают за вывод всего что вы подготовили.
	*  $this->ipsclass->print->add_output () добавит основной готовый xhtml к выводу. В этом выводе будет шапка и низ форума.
	*/
	$this->ipsclass->print->add_output ( $output );

	/* Здесь посылаются другие данные файлу class_display.php в виде массива.
	*  Ключ TITLE отвечает за тайтл страницы. Можно просто указать 'TITLE' => $title
	*  Ключ JS отвечает за дополнительный ява скрипт. Например можно туда засунуть xhtml форматированные ссылки на файлы с яваскриптом. 
	*  Это заменяет в wrapper'е слова <% JAVASCRIPT %>
	*  Ключ NAV собственно отвечает за навигацию. Ему передается массив навигации.
	*/
	$this->ipsclass->print->do_output ( array( 'TITLE' => "{$this->ipsclass->vars['board_name']} - {$this->pagetitle}", 'JS' => 0, 'NAV' => $this->nav ) );

} // Конец функции run_component

} // Конец класса
?>

Надеюсь мануал будет пополняться.

Share this post


Link to post
Share on other sites

А можно сделать в одном компоненте несколько страниц? Правила клана, например на 5 страницах или ещё что-нибудь.

 

Как?

Share this post


Link to post
Share on other sites

Вывести вверху страницы ссылки с разными &a=номер на конце, и в скрипте выводить разный текст в зависимости от $this->ipsclass->input['a']

 

Посмотрите в сети "скрипт пагинации".

Share this post


Link to post
Share on other sites

в любом случае без знания php лучше вообще не лезть.

Share this post


Link to post
Share on other sites

Fatal error: Class 'ad_legends' not found in /www/data01/users/t/torrent.planet.ee/htdocs/sources/acp_loaders/acp_components.php on line 146

 

что я неправильно сделал?

Edited by LimpaPlanet.ee

Share this post


Link to post
Share on other sites
Fatal error: Class 'ad_legends' not found in /www/data01/users/t/torrent.planet.ee/htdocs/sources/acp_loaders/acp_components.php on line 146

 

что я неправильно сделал?

А что вы делали? Что-то я не улавливаю, как вы связали эту ошибку и тему топика...

Share this post


Link to post
Share on other sites

Warning:
acp_components::require_once(/www/data01/users/t/torrent.planet.ee/htdocs/sources/components_acp/zvaniya.php): 
failed to open stream: 
No such file or directory in /www/data01/users/t/torrent.planet.ee/htdocs/sources/acp_loaders/acp_components.php on line 144 

 

что у меня не правильно сделано?

Edited by LimpaPlanet.ee

Share this post


Link to post
Share on other sites

нету файла компонента для админки, вот и вся ошибка.

 

Вопрос в том, что вы хотели сделать

Share this post


Link to post
Share on other sites

с помощью этого можно создать свою станицу под скин форума?

 

Что дальше делать?

в компоненты захожу выдаёт

http://xxxxxxxxxxxxxxxx/admin/index.php?adsess=508b01254d01acee861e118390fb84ed&section=components&act=ban&do=ban

Share this post


Link to post
Share on other sites

Можно.

* Сюда по аналогии можно добавить свои шаблоны, если они, конечно, созданы. Например добавить ниже

* $this->ipsclass->load_template( 'skin_mypg' );

  • Upvote 1

Share this post


Link to post
Share on other sites

Так я не понял что дальше делать? Когда создал компонент?

Просто второй пункт непонятный и

Заголовок компонента на страницах форума

{ipb.lang['some_words']} - будет заменено на текст из лэнгов из переменной "some_words"

Куда именно вставлять? То есть в какой файл языкового файла

 

lang_global.php спс (Fisana)

 

Жду ответа дальше!

Share this post


Link to post
Share on other sites

Подождите ответа Гены.

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

lang_mypage.php

Но, возможно, достаточно добавить необходимую строчку в lang_global.php

Share this post


Link to post
Share on other sites

$output .= "include 'ban1.php'";

Мне надо его прикрутить именно между $output .= "тут" я не знаю как?

Share this post


Link to post
Share on other sites

Строку добавлять в lang_global.php

Создавать дополнительные ланги - по необходимости.

А зачем вы лезете туда, где не разбираетесь?

ob_start();
include 'ban1.php';
$output .= ob_get_contents();
ob_end_clean();

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...