Создание основного файла компонента (IP.Board 2.x.x)

lena1

クリエイター
LV
0
 
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->Создание основного файла компонента<!--sizec--></span><!--/sizec-->

Для создания простого компонента, вам необходимо скопировать нижеприведённых код в файл <b>КОМПОНЕНТ.php</b> и поместить этот файл в - <b>/sources/components_public/</b>

<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><?php
if ( ! defined( 'IN_IPB' ) )
{
&nbsp;&nbsp;&nbsp;&nbsp;print "<h1>Некорректный адрес</h1>Вы не имеете доступа к этому файлу напрямую. Если вы недавно обновляли форум, вы должны обновить все соответствующие файлы.";
&nbsp;&nbsp;&nbsp;&nbsp;exit();
}

class component_public
{
&nbsp;&nbsp;&nbsp;&nbsp;var $output&nbsp;&nbsp;&nbsp;&nbsp; = "";
&nbsp;&nbsp;&nbsp;&nbsp;var $page_title = "";
&nbsp;&nbsp;&nbsp;&nbsp;var $nav&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= array();
&nbsp;&nbsp;&nbsp;&nbsp;var $html&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "";
&nbsp;&nbsp;&nbsp;&nbsp;var $ipsclass;

&nbsp;&nbsp;&nbsp;&nbsp;/*-------------------------------------------------------------------------*/
&nbsp;&nbsp;&nbsp;&nbsp;// Run Component
&nbsp;&nbsp;&nbsp;&nbsp;/*-------------------------------------------------------------------------*/

&nbsp;&nbsp;&nbsp;&nbsp;function run_component()
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->ipsclass->load_language('lang_КОМПОНЕНТ'); //Укажите название языкового файла.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->ipsclass->load_template('skin_КОМПОНЕНТ'); //Укажите название группы шаблонов.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->base_url&nbsp;&nbsp;&nbsp;&nbsp;= $this->ipsclass->base_url;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->main();

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->nav[] = "<a href='{$this->ipsclass->base_url}autocom=КОМПОНЕНТ'>{$this->ipsclass->lang['page_title']}</a>"; //Укажите в ссылке свой компонент (название данного файла).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->page_title = $this->ipsclass->lang['page_title'];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->ipsclass->print->add_output( $this->output );
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->ipsclass->print->do_output( array( 'TITLE' => $this->ipsclass->vars['board_name']." - ".$this->page_title, 'JS' => 0, NAV => $this->nav ) );
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;/*-------------------------------------------------------------------------*/
&nbsp;&nbsp;&nbsp;&nbsp;// Main
&nbsp;&nbsp;&nbsp;&nbsp;/*-------------------------------------------------------------------------*/
&nbsp;&nbsp;&nbsp;&nbsp;function main()
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->output .= $this->ipsclass->compiled_templates['skin_КОМПОНЕНТ']->main(); //Укажите название группы шаблонов.
&nbsp;&nbsp;&nbsp;&nbsp;}
}
?><!--c2--></div><!--ec2-->


<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->Создание языкового файла для компонента<!--sizec--></span><!--/sizec-->

Создайте файл <b>lang_КОМПОНЕНТ.php</b> и впишите языковые фразы:
<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><?php
$lang = array(

'page_title'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> "Новый компонент!",
'welcome_message' => "Вы создали новый компонент!",

);
?><!--c2--></div><!--ec2-->

Положите языковой файл в - <b>/cache/lang_cache/en/ и ./cache/lang_cache/ru/ </b>


<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->Создание шаблона для компонента<!--sizec--></span><!--/sizec-->

<b>Админцентр ⇒ ВНЕШНИЙ ВИД ⇒ [ваш стиль] ⇒ Изменить HTML шаблоны ⇒ skin_boards (главная страница) ⇒ Добавить шаблон</b>

В окошке добавления нового шаблона, впишите:

- <u>Название шаблона:</u> main
- Или создайте новую группу…: КОМПОНЕНТ (кажите своё название компонента латинскими буквами, которое вы вписали в файл)

Нажмите <b>[Продолжить…]</b>

В появившимся окне содержимого шаблона, вы должны вписать следующий код (для проверки):
<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><div class="borderwrap">
&nbsp;&nbsp;&nbsp;&nbsp;<div class="maintitle">{$this->ipsclass->lang['welcome_message']}</div>
&nbsp;&nbsp;&nbsp;&nbsp;<table width='100%' cellpadding='4' cellspacing='1'>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tr><td class='row2' width='100%' align='left'>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Здравствуйте, {$this->ipsclass->member['name']}! {$this->ipsclass->lang['welcome_message']}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Был создан новый компонент!
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>
&nbsp;&nbsp;&nbsp;&nbsp;</table>
</div><!--c2--></div><!--ec2-->


<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->Тестирование созданного компонента<!--sizec--></span><!--/sizec-->

Далее, пройдите по ссылке

<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->http://domain.com/index.php?autocom=КОМПОНЕНТ<!--c2--></div><!--ec2-->
 
Сверху