Вступление для создания компонентов (Часть 1)

+18
2.1K
Всем привет!
Перед началом создания своего компонента давайте разберем файловую структуру InstantCMS и структуру БД!

Файловая структура

Папка components — в этой папке содержатся каталоги всех компонентов, которые выводятся на сайте!
В каждом из этих каталогов есть файлы которые отвечают за вывод компонентов! Обязательным файлом есть — frontend.php. В котором должна присутсвовать функция с одноименным названием компонента. Общий вид этого файла такой:

  1.  
  2. <?
  3. if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
  4.  
  5. function имя компонента(){//
  6.  
  7. $inCore = cmsCore::getInstance();//Подключаем главное ядро(движок) сайта, который содержит главные ф-ции
  8. $inDB = cmsDatabase::getInstance();//Подключаем БД
  9.  
  10.  
  11. ....//Тело функции компонента
  12.  
  13. }
  14. ?>

Этот файл отвечает за вывод на сайте, а файлы, которые отвечают за вывод компонента в админке, находятся в каталоге admin\components\<название компонента>. Там главным и обязательным файлом является backend.php, который по структуре похож на frontend.php.

За вывод компонента на сайте еще отвечают файлы .tpl с папки шаблона! Их название может быть любым, но как правило оно такое:
com_<название компонента>_<название страницы компонента>

На сегодня пока все! Разберитесь с файловой структурой InstantCMS, в следующем посте посмотрим на БД и разберем ее по косточкам smileИ потом уже преступим к созданию своего компонента!!!!
P.S. Жду комментариев и пожеланий для следующих постов… Первый пост, так что сильно не критикуйте… laugh

Оригинал данной статьи >>>
+3
12 лет назад #
Нормальный такой пост, продолжай в том же духе joke
+3
Юра Юра 12 лет назад #
Спасибо! Буду держать марку smile
Думаю до конца недели напишем уже свой модуль!
+1
12 лет назад #
Какой функционал у модуля планируется? Я с ПШП не знаком, вопрос есть, а например модули от джумлы можно адаптировать?
+3
Юра Юра 12 лет назад #
Буду думать! Жду предложений от вас и от всех! Компонент и модуль будем делай простой!
Сложные делаю только за деньги! А с джумлой не хочу даже работать, проще с нуля написать суто под Инстант!
+2
12 лет назад #
можно нет никаких сложностей!
+2
Юра Юра 12 лет назад #
Никто не говорит что не можно, просто лично для меня проще с нуля! И на сколько я знаю к Джумле все модули много весят! А я за быстроту загрузки сайта!
+1
lezginka.ru lezginka.ru 12 лет назад #
примеры есть ?
+1
12 лет назад #
Да у меня спроса на компоненты и модули нет, мне стандартных пока хватило) А джумла тебе чем не угодила?) Там же куча хороших модулей и компонентов, которые в одиночку написать думаю будет сложновато, а адаптировать вполне возможно. А кстати насчёт предложений, зайди в блог к widik у него там есть идейки, самая перспективная это афиша, вот этот модуль реально пригодился бы.
+1
12 лет назад #
Да там же свои константы, свои переменные...запаришься с ними, пока месь на инстантовские переставишь)))
+2
Юра Юра 12 лет назад #
Во-во! А в Инстанте все намного проще, что и с нуля можна сделать любой компонент! Было бы только время и желание!
+1
12 лет назад #
В моём случае желания не достаточно))) нужны ещё и знания ПШП, коих почти нет)))
+2
lezginka.ru lezginka.ru 12 лет назад #
Юра, хорошое дело делаешь.
а идей у нас валом, реализовать некому :)
------------------------------------------------
по поводу БД, все с этим столкнуться, так как бывают сбои в БД, а зная "кто и за что отвечает" легче разобрать.
нужно подробно расписать
какие таблицы за что отвечают, "статьи", "комментарии" и т.д.
----------------

по поводу идей.
в конструкторе форм нет возможности прикрутить файл, а надо
+2
Юра Юра 12 лет назад #
Спасибо!
Возьму во внимание твое пожелание! Буду работать!
О БД на этой недели ждите описание!
+1
lezginka.ru lezginka.ru 12 лет назад #
по поводу идей.
в багтрекере есть "пожелания", там можно посмотреть что-то попроще.
и еще , как-то была идея создать валюту сайта, система баллов
+2
Юра Юра 12 лет назад #
Буду по чуть-чуть реализовывать! Если бы еще кто-нибудь спонсировал это дело - было бы быстрее!
smile

Буду в свободное время Вам предоставлять бесплатные модули, а так нет времени не халяву все делать, ведь кушать то хочется laugh
+1
lezgin 12 лет назад #
Юра, спонсоры тоже будут, если не потеряешься.
кстати,за систему баллов, были люди готовые частично спонсировать.
платный совет(потом рассчитаемся): - сделай пару нужных вещиц, чтобы народ видел, как рекламу для будущих спонсоров
+1
lezginka.ru lezginka.ru 12 лет назад #
Юра,немного не по теме, но если знаешь:

не работает ссылка "комментарии" в фотогалерее, как исправить ?
т.е. при попытке добавить комментарии, окно не открывается и ничего не происходит.

Еще от автора

Модернизируем баннеролисталку
Здравствуйте! Сегодня покажу как улучшить баннеролисталку!
Вступление для создания компонентов (Часть 2)
Доброго времени суток всем! В предыдущем посте я писал о файловой системе InstantCMS! Сегодня, как я и обещал, мы рассмотрим базу данных данной cms!
Открытие блога!
С этого дня я буду помагать Вам разрабатывать свои модули, плагины, компоненты к CMS Instant!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.