Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
  • entries
    11
  • comments
    54
  • views
    83,294

Регистрируем персональные страницы для IP.Board 3

Sign in to follow this  
Ph-A

143 views

После создание темы в блоге "Пользовательские страницы на IP.Board 3", постоянно получаю в личку просьбу продолжить тему. Для простых страничек, лучше использовать старый совет. Если надо сделать, что-то сложное, с PHP логикой, работа с базой данной, то можно использовать следующее решения:

 

Создаем новое, простое приложение MyCustomPage.

 

В admin/applications_addon/other/ создаем папку mycustompage

Как правило приложения включают в себя следующие разделы (папки):

 

extensions
modules_admin
modules_public
setup
skin_cp

 

Для начала, мы создадим две папки.

 

modules_public
skin_cp

 

В skin_cp положим иконку appIcon.png. Иконку можно взять в любом приложение, хотя все будет работать и без нее. Иконка применяется в АдминЦентре в списке приложений.

 

В modules_public создаем одну папку, назовем ее например modulename

 

В этой папке создаем два файла.

Первый основной (он должен быть всегда): defaultSection.php

<?php
$DEFAULT_SECTION = 'firstname';
?>

 

firstname - имя второго файла. Относительный путь на сайте у него будет

admin/applications_addon/other/mycustompage/modules_public/modulename/firstname.php

 

Это важно:

mycustompage - Директория всего приложения

modulename - Имя директории, содержащей файлы модуля (Ключ модуля)

firstname.php - Имя файла

 

Это название отражается и в главном классе файла firsname.php

 

class public_mycustompage_modulename_firstname extends ipsCommand

Понятно, что название могут быть любые. Но замена название в одном месте, должно быть заменено везде, где оно фигурирует.

 

И сам файл firstname.php

 

<?php

if ( ! defined( 'IN_IPB' ) )
{
       print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
       exit();
}



class public_mycustompage_modulename_firstname extends ipsCommand {
       public function doExecute( ipsRegistry $registry ) {

               $this->output = "Текущая дата: " .strftime('%d %B %Y'); 	// Здесь формируем контент

			$this->registry->output->setTitle( "Название" );
			$this->registry->output->addContent( $this->output );
               $this->registry->output->sendOutput();  
 }
}

?>

Можно сказать это необходимый минимум. Мы не описали lang - файлы, не подключили свой шаблон. Но уже такое решение, вполне рабочее.

 

Теперь надо только рассказать IP.Board, что у нас есть "готовое" приложение.

 

Для этого идем в АЦ

Панель управления > Приложения > Управление модулями > Список модулей > Приложения -> Добавить приложение

My Control Panel > Applications & Modules > Manage Applications & Modules > Applications -> Add New Application

gallery_1187_78_9011.pnggallery_1187_78_7327.png

В этой форме, важны два поля

Публичное имя приложения ( Application Public Title ) - имя под котором приложение будет присутствовать в меню.

Директория приложения ( Application Directory ) - место где находится наше приложение. И он же адрес странички: /index.php?app=mycustompage

Но в данный момент приложение доступно только по прямой ссылке, в меню ссылка еще не работает.

 

Регистрируем публичный модуль нашего приложения.

 

gallery_1187_78_4021.png

Добавить публичный модуль

gallery_1187_78_3061.png

Здесь важно правильно написать

Ключ модуля (Module Key) и естественно включить модуль: Модуль включен? (Module Enabled).

 

Для безопасности во все вновь созданные директории, можно положить защитные (пустые) файлы index.html

Вот и все.

 

Будет ли продолжение? Не знаю. Не сделано многое. Нет администраторского модуля, нет своих языковых файлов. Одним словом нечего нет.

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

 

Повторюсь, для простых вещей, гораздо удобнее решение описанное здесь: Пользовательские страницы на IP.Board 3

Для сложных решений, проще использовать IP.Content. Проще и быстрей. Он стоит своих денег.

  • Upvote 5
Sign in to follow this  


4 Comments


Recommended Comments

Очень хочется увидеть продолжение данной темы. Т.к. нормалной информации по сабжу в рунете не смог найти.

Share this comment


Link to comment

Очень хочется увидеть продолжение данной темы.

Как минимум надо понять о чем писать.

 

Т.к. нормалной информации по сабжу в рунете не смог найти.

Информации нет. Но можно просто посмотреть, как устроен любой модуль для IP.Board

Share this comment


Link to comment

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

В общем по данной теме очень много интересного, пишите хоть о чем. :)

Share this comment


Link to comment

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

Через инсталятор. :)

 

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

Это другая песня ...

Тем началась, когда спросили, как сделать статические странички, как в IP.Board 3.2. Все...

 

Для отчуждаемых приложений, совершенно другой подход. Вся регистрация в системе, должна идти через xml файл, который сам создаст многое из того, что я здесь расписывал.

Тогда приложения можно распространять.

 

В общем по данной теме очень много интересного, пишите хоть о чем.

Время ... Да чем дальше, тем больше хочется переписать с чего начинал.

Share this comment


Link to comment

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
×
×
  • Create New...