JInstaller: :Install: Файл не существует

JInstaller: :Install: Файл не существует

Для тех, кто вынужден и тех, у кого пока ещё хватает терпения копаться в потрохах и доках Joomla! 2.5/3.0 Хочу сэкономить несколько часов жизни и кучу нервов, а именно приведу пару решений проблем, на которые мне пришлось потратить кучу времени.

JInstaller: :Install: Не удалось найти XML-файл установки

При разработке расширений/модулей/шаблонов существует такой подход: в файловой системе компьютера создаётся папка будущего расширения, создаются пустые поддиректории, пустые основные файлы расширения, и создаётся полноценный XML - файл манифест, который описывает структуру расширения, ну я думаю разработчики знают о чём речь.

Так вот после всё это хозяйство упаковывается в архив и устанавливается через стандартный интерфейс админки. Joomla! - это всё "глотает" и раскидывает файлы куда надо, плюс прописывает расширение в базу данных. Далее расширение строится уже в окружении движка - стандартная практика. Но вот случилась у меня "засада": Создал я каркас расширения и пытаюсь установить его, но начала Joomla! упорно выдавать следующее: JInstaller: :Install: Не удалось найти XML-файл установки, причём файл установки был на месте, и в нужной кодировке и ... был не правильным XML - файлом! Банально - не правда ли? В общем если у вас такая ситуация - проверьте xml-манифест на валидность, хотя бы в любом браузере - помогает знаете ли :)

JInstaller: :Install: Файл не существует

... ШАЙТАНА-МА!!!!

Второй момент: после исправления первого "косяка" началось следующее: JInstaller: :Install: Файл не существует ... tmp/install_4adf03c5d2e21/... - тут уже глаз задёргался - ведь все файлы и директории, указанные в манифесте были как говорится на месте, все права на объекты файловой системы - перепроверены - парадокс! Поиск "в нашем" тырнете нужных результатов не дал...

В общем откопал я буржуйский вариант этой ошибки в одном из языковых файлов по имени константы и "загуглил" у буржуЁв. Там все быстро нашлось на одном из ресурсов сообщества было сказано, что такая ошибка возникает, если в xml-файле манифесте расширения, в разделе files указан/ы элемент/ы folder и эти папки на момент загрузки расширения в движок пустые (ну, не созданы они ещё на данный момент - помните мы же только начали разработку) то Joomla! будет выдавать вам JInstaller: :Install: Файл не существует ... Выход, как вы понимаете в том, что бы разместить в этих папках чего нибудь, например файлы - заглушки директорий - это те которые index.html, которые есть в каждой директории движка... Как часто мы о них забываем :)

С выходом Joomla! 2.5 а затем Joomla! 3.0, пользователи, да и разработчики расширений, получили довольно продвинутую систему управления содержимым, но как говорится за "продвинутость" нужно платить. Я думаю разработчики расширений Joomla! меня поймут - мало того, что Joomla! стала больше, в смысле она стала предоставлять больше возможностей, а значит нужно больше времени на их изучение, а в нашем случае ещё и перевод документации, Joomla! стала сложнее, в некотором смысле "таинственнее".

Моё личное мнение - зря разработчики Joomla! так её наворачивают - существует определённый порог, когда программное обеспечение становится настолько сложным, что уже просто никто не захочет тратить кучу времени на то что бы изучить мат. часть - ведь всегда есть конкуренты, которые готовы предоставить более простые в освоении продукты, да и мега - возможности Joomla! - не всегда требуются в том объёме в котором их любезно предоставили разработчики Joomla! Мне кажется таким макаром недалёк тот час, когда для того, что бы разрабатывать расширения под Joomla! Надо будет оканчивать какое нибудь спец. заведение (и скорее всего не бесплатно)...

Хотя о чём я! - Уже есть специальные курсы, естественно за деньги - не будем говорить в каких специализированных учебных центрахКак вы думаете, люди, которые заплатили за обучение деньги, что бы программировать под Joomla! - будут программировать бесплатные расширения?

Добавить комментарий


Защитный код
Обновить



Кто на сайте
Сейчас 142 гостей онлайн