я могу легко превратить Joomla в необычную оболочку для отдельного сценария php, используя «статьи» со встроенным html / javascript? - PullRequest
0 голосов
/ 02 января 2012

Я спрашиваю, потому что я видел, как люди говорят в Интернете по типу «joomla отстой, потому что создание веб-приложения с использованием joomla сложно из-за плохого API / архитектуры / документов / людей на моей лужайке». Затем эти люди говорят о переходе на drupal, ExpressionEngine или какую-то другую, предположительно, более дружественную для веб-приложений систему.

Итак, я подумал о следующем (возможно, наивном) прямом подходе к созданию веб-приложения на основе Joomla произвольной сложности и мощности. Сначала я пишу свое приложение как отдельный скрипт php. Я идентифицирую все отдельные страницы / формы, которые у меня есть, и создаю соответствующие «статьи» в Joomla. Поэтому, возможно, если я создаю веб-приложение «форум», у меня будет список тем «статья», тема «статья» и редактирование поста «статья». Теперь, вместо того, чтобы эти статьи были относительно статичными частями текста в базе данных joomla, редактируемыми логикой joomla, у меня есть отдельный скрипт php (собственно веб-приложение), который напрямую выводит любой html (или текст, или smarty - какой бы уровень абстракции не подходил) в соответствующую текстовую запись статьи в базе данных Joomla. Естественно, если на этой странице есть кнопка «отправить», она будет отправлена ​​не в joomla, а скорее в мой скрипт, скорее всего через ajax, а затем перезагрузит страницу (joomla), которая к тому времени уже будет обновлена мой сценарий.

Так что, в некотором смысле, я только что избавился от понятия «контент» в функциональности CMS joomla и вместо этого превратил joomla в оболочку или оболочку, отображающую страницы из моего скрипта. Тем временем я сохраняю темы joomla, хорошую админ-панель, управление пользователями, поддержку мультимедиа, пользовательские расширения и т. Д.

Хорошо, так много для теории n00b. Теперь, кто-нибудь хотел бы лопнуть мой пузырь? Есть ли веская причина, почему люди так не делают? Или не стоит так делать? Или это на самом деле один из хорошо известных способов превратить CMS в веб-приложение?

Ответы [ 2 ]

1 голос
/ 02 января 2012

Если вы умеете кодировать PHP, то для начала вам лучше просто написать расширение MVC. Весь смысл использования фреймворка Joomla состоит в том, чтобы избежать необходимости писать часть повторяющегося кода, который уже обрабатывается фреймворком. Вы будете создавать приложение, которое будет трудным для администрирования, и будет расширять его, как описано в ОП.

Любой, кто говорит «joomla отстой, потому что создание веб-приложения с использованием joomla сложно из-за плохого API / архитектуры / документов / людей на моей лужайке» не смотрел на Joomla, так как это был v1.0, или они не знают о чем они говорят. У Joomla есть хорошо документированный API, который можно использовать для чего угодно. Фактически, категории / статьи в Joomla - это просто расширение, называемое com_content, и его вообще не нужно использовать ни по какой причине.

Потратьте немного времени на изучение API и MVC, и вы будете счастливы, что сделали.

API - http://docs.joomla.org/JDOC:API_Reference_Project

Компонент MVC - http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1

0 голосов
/ 02 января 2012

Не уверен, если это хорошая идея или нет, но чтение того, что вы делаете, напомнило мне о Joomla Framework

Одной из причин, по которой люди могут не изменять CMS, может быть то, что они могут использовать среду для создания того, что им нужно. Думаю, для новичка ваш метод может быть проще, но так как я сам новичок, я не могу точно сказать, хорошая это идея или нет.

Взято с их страницы

Joomla Platform - это платформа для написания веб-страниц и командной строки приложения в PHP. Это бесплатное и открытое программное обеспечение, распространяемое под GNU General Public License версии 2 или более поздней. Joomla Система управления контентом (CMS) построена на базе Joomla Платформа .

Из того, что я понимаю, вы получаете самые необходимые элементы для вашего веб-приложения, но все еще можете использовать расширения плагинов Joomla.

Подробнее здесь http://docs.joomla.org/Platform/11.1 и здесь http://docs.joomla.org/How_to_create_a_stand-alone_application_using_the_Joomla!_Platform

...