0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 845 Просмотров
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
Доброго времени.
Хотелось бы начать нормально писать расширения для Joomla на ее внятном "языке", очень не хватает информации по работе с фреймворком
Облазил много ресурсов, везде где что то находилось является автодоком, просто методы без обьяснений их применения и без контекста в котором они работают.
надоело колхозить зная о том что фреймворк уже так умеет, изначально я смотрел как написаны компоненты внутри Joomla и повторял их структуру в своих решениях
но вот не имея понятия что как и зачем но и этого уже мало...

PS: например на **триксе я без проблем создавал компоненты просто читая "отсталую" доккументациию, но вот мне не нравится он по многим причинам.
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
Хотелось бы начать нормально писать расширения для Joomla на ее внятном "языке", очень не хватает информации по работе с фреймворком
Пришло последнее обновление, функционал очень приятный появился, роутинг переписан да так что не сломать его, да и TODO-шек много для 4ки в коде,
вот почему так, на нормальный фреймворк нету документации а на не нормальные есть...
ладно, пойду и дальше писать прямые запросы в бд...
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
https://docs.joomla.org/J3.x:Developing_an_MVC_Component(Читайте en версию она полнее) По шаговая дока по созданию компонента. Немного старая но есть. Остальное в частности новую маршрутизацию лучше познавать на примерах стандартных компонентов, а так же путем набибвания шишек
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
https://docs.joomla.org/J3.x:Developing_an_MVC_Component(Читайте en версию она полнее) По шаговая дока по созданию компонента. Немного старая но есть. Остальное в частности новую маршрутизацию лучше познавать на примерах стандартных компонентов, а так же путем набибвания шишек
Да компоненты создавать я знаю как, (даже болванка есть) вопрос не в этом.

вот пример который я родил путем гуглинга часть кода найдено на этом форуме, другая на стековерфлоу

Код
<?php

define('_JEXEC', 1);
define('JPATH_BASE','/home/projekts/web/public_html');
define('DS',DIRECTORY_SEPARATOR);
require_once JPATH_BASE . DS . 'includes' . DS . 'defines.php';
require_once JPATH_BASE . DS . 'includes' . DS . 'framework.php';
$app = JFactory::getApplication('site')->initialise();

JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models');

$articles = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));
$appParams = JFactory::getApplication()->getParams();
$articles->setState('params', $appParams);
$articles->setState('filter.published', 1);
$items = $articles->getItems();

var_dump($items);

?>

Этот код выведет все материалы которые есть на сайте, включая картинки, настройки SEO (мета, кейвордс и пр.)
все это можно было написать прямым запросом в бд, но так не камельфо же правда?

так же я теперь увидел, похожий код есть в модуле вывода рандомных статей
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
И в чем проблема? Удобней достать данные через модель, доставайте через модель. Удобней SQL запросом, доставайте запросом.
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
И в чем проблема? Удобней достать данные через модель, доставайте через модель. Удобней SQL запросом, доставайте запросом.
хочется делать через модель, так как это соблюдение кодекса DRY (не повторяться), зачем писать то что обертка уже умеет, но доков по работе с оберткой увы не найдешь, приходится выколупывать из разных источников, иначе чувствуешь как руки пачкаются и плохо спишь от такого ))
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
Писать хардкордно можно, я это понимаю, никто не запрещает так делать, только потом не вольно задумаешся когда создашь какой нибудь полезный плагин, ставить под своим кодом копирайт или нет ))
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
Как вообще появились на свет такие популярные компоненты как VirtueMart или PhocaGallery без нормальных доков по работе с оберткой?
там же с ума сойти! сколько всего учтено, что бы все нормально работало! думается мне что доки все же есть, но не в открытом доступе.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Уже не раз писали, что лучшая дока - это сам код. Вы должны уметь читать чужой код, как книгу. Дока полезна, когда нужно быстренько найти мелочи, которые подзабывали.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SalityGEN

  • Захожу иногда
  • 209
  • 7 / 1
  • Делаю мир лучше
Уже не раз писали, что лучшая дока - это сам код. Вы должны уметь читать чужой код, как книгу. Дока полезна, когда нужно быстренько найти мелочи, которые подзабывали.
Без сомнения соглашусь с этим, но не все там лежит на виду, время изучения кода будет в разы больше чтения доков.

Это что-то из разряда
- так, мне нужно написать такую вот сортировку, где то я ее видел, не могу вспомнить...
- 2 часа спустя нашел, ура! начинаем писать код!
или через 10 минут забил и просто пнул запрос в бд..

Ладно чего уж демагогию разводить, нет доков и хрен с ним, вижу мы все используем одинаковые методы исходя из советов ))
Все таки надеюсь на 4ку и на большую толстую книжку к ней что мало вероятно..
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
- так, мне нужно написать такую вот сортировку, где то я ее видел, не могу вспомнить...
- 2 часа спустя нашел, ура! начинаем писать код!
Самое смешное что со временем, вы просто будете искать уже своем коде. Но принцип будет тотже. Где-то я это уже писал... и начинаете вспоминать.
А документацию я вам дал, там есть описание как работать с моделями, после написания первого же компоненте приходит.
 Остальное уже дело вашей фантазии, ну или фантазии автора расширения, так к примеру Joomshoping весь построен на обращении к Table а не к Model а hikashop вообще на helpers. Phoca и VM более каноничны, но тоже с тараканами.

Могу еще эту подкинуть.
https://api.joomla.org/cms-3/namespaces/Joomla.html
И этот сайтик
https://jpath.ru/
А еще есть целая гора чатов по joomla где всегда можно спросить совета или обсудить свой код.

Все остальное лишь опыт и понимание движка, тут ни какая дока не поможет, нужно просто время и читать код =).
« Последнее редактирование: 14.10.2019, 01:28:48 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
P.S вспонилось, как я писал плагин под WP, вот вроде и дока подробная, но в разы быстрее просто прочитать код ядра.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Телеграм канал о Joomla на английском

Автор Sulpher

Ответов: 0
Просмотров: 239
Последний ответ 30.01.2024, 23:47:50
от Sulpher
VirtueMart для Joomla 4

Автор Гоша_Компьютерный

Ответов: 0
Просмотров: 1214
Последний ответ 15.08.2022, 12:37:14
от Гоша_Компьютерный
Мысли вслух про Joomla 4

Автор Гоша_Компьютерный

Ответов: 9
Просмотров: 1678
Последний ответ 15.12.2021, 13:51:44
от sergeytolkachyov
Городской портал на Joomla?

Автор User82

Ответов: 3
Просмотров: 1551
Последний ответ 14.12.2021, 14:41:02
от khan-alex
Дайджест Joomla на хабре общая тема.

Автор zikkuratvk

Ответов: 59
Просмотров: 4051
Последний ответ 30.11.2021, 12:30:59
от zikkuratvk