Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

(0 отзывов)

После создание темы в блоге "Пользовательские страницы на 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. Проще и быстрей. Он стоит своих денег.

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

Рекомендованные комментарии

blaga

Пользователи

Опубликовано:

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

Опубликовано:

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

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

 

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

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

blaga

Пользователи

Опубликовано:

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

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

Опубликовано:

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

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

 

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

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

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

 

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

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

 

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

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.