Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией на 05/05/11 в Записи блога

  1. 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 В этой форме, важны два поля Публичное имя приложения ( Application Public Title ) - имя под котором приложение будет присутствовать в меню. Директория приложения ( Application Directory ) - место где находится наше приложение. И он же адрес странички: /index.php?app=mycustompage Но в данный момент приложение доступно только по прямой ссылке, в меню ссылка еще не работает. Регистрируем публичный модуль нашего приложения. Добавить публичный модуль Здесь важно правильно написать Ключ модуля (Module Key) и естественно включить модуль: Модуль включен? (Module Enabled). Для безопасности во все вновь созданные директории, можно положить защитные (пустые) файлы index.html Вот и все. Будет ли продолжение? Не знаю. Не сделано многое. Нет администраторского модуля, нет своих языковых файлов. Одним словом нечего нет. Буду делать, конкретное приложение для себя, то выложу его исходники и опишу. Если не будет задачи, описывать сферического коня в вакууме, не очень интересно Повторюсь, для простых вещей, гораздо удобнее решение описанное здесь: Пользовательские страницы на IP.Board 3 Для сложных решений, проще использовать IP.Content. Проще и быстрей. Он стоит своих денег.
×
×
  • Создать...