Загрузка

Ajax'изация ресурса. Первые шаги к интерактивности

Теги: о сайте

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

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

Но если перед вами стоит нетривиальная задача, если в шаблон материала вам необходимо добавить дополнительные поля или создать совершенно новые типы контента - пользовательские блоги с нестандартными полями, страницы профилей и проектов, то здесь помощи от Joomla не ждите. Нет, вы можете все это сделать, но, либо переписав 50% ядра системы и потеряв возможность ее дальнейшего обновления, либо создав на ее основе нечто большее, не затронув внутренние файлы Joomla выйдя на совершенно новый уровень.

И таким спасением для меня стал конструктор контента CCK Seblod - компонент, позволяющий генерировать собственные типы контента, от профиля пользователя до страницы проекта, системы комментариев, личных сообщений и форума. Компонент очень сложен в понимании и использовании, но в итоге, при правильном подходе, позволяет отказаться от кучи других компонентов, что, конечно, несет в себе несомненные плюсы.

К сожалению, не лишен Seblod и ошибок, недочетов, думаю, из-за своей бесплатности. Многие из них пришлось исправлять на уровне JavaScript, некоторые - на уровне PHP, но все они ничего не стоят, если вспомнить, какие возможности он перед тобой открывает. Будто, цепь упала, и ты стал свободен от узких рамок системы. Другая проблема Seblod - в его недостаточной интерактивности. Поля могут быть записаны и изменены только в форме редактирования, что, помимо неудобства для пользователя создает, ко всему прочему, и ненужную нагрузку на сервер. Я не знаю, насколько сложно было бы это реализовать в рамках конкретного компонента, но одно знаю точно - разработчик сайта просто обязан об этом позаботиться. Поэтому, думаю, мой подход был правильным: Seblod - лишь основа, фундамент, и правильно применив знания JavaScript и PHP можно сделать с ним то, что не смог бы сделать на чистой Joomla.

Итак, эта статья - о моей первой и удачной попытке добавить сайту на Joomla + Seblod интерактивности и удобства. Сделать его современнее. И первым моим шагом в сторону новых возможностей была система сообщений на форуме. Я уже неоднократно упоминал о проблемах, приведших к этому решению. Прежде всего, это, разумеется, несет некоторое удобство для пользователей ресурса, но намного большую пользу я вижу в разгрузке сервера при помощи Ajax:

Работа с AJAX очень важна и для разгрузки сервера. Представьте только, для редактирования одного сообщения на форуме пользователь будет загружать целую кучу различных данных - файлы шаблона, скрипты, значения полей из базы данных... На малопосещаемом сайте это, конечно, заметно не будет, но для крупных ресурсов подобная разгрузка сервера при помощи AJAX придется очень даже к месту.

Так что здесь видится двойная польза, и нет такой причины, по которой мне не стоило бы повысить приоритет этой задачи и заняться именно ею. Ну а в планах на будущее, разумеется, максимальная интерактивность сайта. Есть, конечно, ситуации, в которых отдельные страницы редактирования оправданы, например, при создании нового материала.

Но вот если мы хотим отредактировать, скажем, мелкую деталь проекта - удалить изображение из галереи или поменять описание, - ни для нас, ни для сервера в этой ситуации открытие новой страницы благоприятным не покажется. На будущее можно было бы выделить следующие области сайта, нуждающиеся в повышении интерактивности:

  1. Редактирование комментариев
  2. Галерея проекта

Ну да, пока все. =) Это из основного, что, как мне кажется, будет затрагиваться наиболее часто, а дальше уже будет видно. Ну а данная статья написана только в качестве новости, затрагивающей, несомненно, одно из наиболее важных обновлений ресурса.

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

К слову, мой блог о веб-разработке тоже делался с использованием Seblod, так как даже стандартно поддерживаемые в Joomla возможности с его добавлением становятся намного гибче.

Поделиться
Ajax'изация ресурса. Первые шаги к интерактивности
IDEV создавался с нуля, но, все же, не писался в блокноте, а имеет под собой довольно неплохую основу в виде системы Joomla. Основа неплохая, для широкого круга задач, но когда я сел за IDEV, тут же столкнулся с рядом неразрешимых проблем, заключающихся в недостаточной расширяемости Joomla для тако...
article
1 Монета
SaiLight (3 года назад)

7 комментариев:
SaiLight, уровень 4 (3 года назад):

BadGUYoo, от старого остались только резервная копия на моем компьютере и вот этот скриншот со страницы проекта.

BadGUYoo, уровень 1 (3 года назад):

жаль не застал старый ваш ресурс.. Все о нем постоянно говорят а я как то не в теме..))

SaiLight, уровень 4 (3 года назад):

Только хотел написать, что это секрет, уже SpectreZ все разболтал. =)

SpectreZ, уровень 2 (3 года назад):

Движок сайта сейчас на php, фреймворк Laravel.

CTAP4E, уровень 1 (3 года назад):

Блин, не успел похвалить за joomla - уже не за что хвалить.))) Если теперь проект написан на фреймворке, то это еще в 10 раз круче! Теперь точно слов нет.))) А на каком если не секрет?

SaiLight, уровень 4 (3 года назад):

CTAP4E, ссылку потом скину, там пока с доменом проблемы.

CTAP4E, уровень 1 (3 года назад):

Как веб-программист хоть и начинающий, выражаю респект тому, кто сделал такое на Joomla.))) Лично я как начал в ней разбираться так и закончил - показалось не перспективным. Но результат и правда поражает, хотелось бы увидеть статью про которую здесь написано.

Войти