Регистрируем персональные страницы для IP.Board 3 - Дизайн и модификация Invision Power Board

Перейти к содержимому

 
***** 1 голосов
После создание темы в блоге "Пользовательские страницы на 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
-IMG--IMG-
В этой форме, важны два поля
Публичное имя приложения ( Application Public Title ) - имя под котором приложение будет присутствовать в меню.
Директория приложения ( Application Directory ) - место где находится наше приложение. И он же адрес странички: /index.php?app=mycustompage
Но в данный момент приложение доступно только по прямой ссылке, в меню ссылка еще не работает.

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

-IMG-
Добавить публичный модуль
-IMG-
Здесь важно правильно написать
Ключ модуля (Module Key) и естественно включить модуль: Модуль включен? (Module Enabled).

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

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

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

4 комментариев

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

blaga 24 Май 2011 - 07:39 сказал(а):

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

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

blaga 24 Май 2011 - 07:39 сказал(а):

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

Информации нет. Но можно просто посмотреть, как устроен любой модуль для IP.Board
0
я именно так и поступил. уже начал делать свое приложение. Вопрос только вот в чем, а после создания такого приложения, я без проблем перенесу его на другой хостинг? И вообще хотелось бы знать как правильно делать такие вещи не только для своего форума но и что бы потом на другие легко ставилось...
В общем по данной теме очень много интересного, пишите хоть о чем. :)
0

blaga 25 Май 2011 - 05:37 сказал(а):

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

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

blaga 25 Май 2011 - 05:37 сказал(а):

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

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

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

blaga 25 Май 2011 - 05:37 сказал(а):

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

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

Обратные ссылки на эту запись [ URL для обратной ссылки ]

Нет обратных ссылок на эту запись

Случайное изображение

Вечер

0 посетителей

0 гостей
0 пользователей
0 скрытых

Теги

    Категории

    Последние посетители

    • GoldHunt  »
      17 Ноя 2017 - 09:15
    • by.ryzhiy  »
      13 Сен 2017 - 13:04
    • avgaz  »
      21 Авг 2017 - 23:39
    • f2065  »
      13 Июн 2017 - 18:09
    • Haktar  »
      17 Фев 2017 - 18:27

    MyBlogLog

    Twitter


    Контактная информация

    Вопросы по работе сайта

    +7 (917) 501-4765
    C 10 до 20 в рабочие дни (время московское)

    Техническая поддержка

    Контактные данные специалистов

    Дизайн форумов

    IPB 3.x ¦ IPB 2.x

    Бесплатные шаблоны

    IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
    Лицензия на использование ¦ Ваша поддержка ¦ О проекте
    Copyright © 2005-2017 IPBSkins.ru Team
    При копировании материалов с сайта
    прямая ссылка на источник обязательна