Новости Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla.Это модуль-конструктор для быстрого создания набора элементов. Это могут быть ссылки на компоненты Joomla, пункт меню или пользовательская ссылка. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина, список FAQ, табы или аккордеоны. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.v.2.4.0. Что нового?Добавлена поддержка новых компонентов. Добавлены новые типы ссылок и исключений для них: - Phoca Download, - Phoca Gallery, - RadicalMart (@radicalmart).Joomla 6. Успешно протестирована работа модуля на Joomla 6-alpha2.РазработчикамПроведён большой рефакторинг кода. Для типов ссылок созданы классы-драйверы. Теперь для того, чтобы добавить новый тип ссылки в модуль достаточно скопировать класс-образец из
modules/mod_wt_quick_links/src/Driver/Collection и наполнить его данными по образцу, а так же добавить необходимые языковые константы в панели администратора Joomla.Модуль бесплатный. Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 Подпишись на @joomlafeed.#joomla #разработка

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

👩‍💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"     name="your_note_for_user"     label="Заголовок примечания"     title="Альтернативный способ для заголовка"     description="Текст примечания"     class="col-12 alert alert-info"     heading="h1"     close="true"/>
heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле
<field type="systempluginstatus"      name="systempluginstatus"     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-
type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:
<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{     protected $type = 'Systempluginstatus';     protected function getLabel()          {               // если плагин не включён               if(PluginHelper::isEnabled('system','wtquicklinks')) {                    // меняем свойства родительского класса                    $this->class = 'alert alert-danger w-100';                    $this->element['label'] = '⚠️ А-а-а-а!';                    $this->element['description'] = 'Плагин не включён!!';                    // и просто рендерим его с нашими свойствами                    return parent::getLabel();               }          // А иначе всё хорошо, скрываем поле из виду.          $this->parentclass = 'd-none';          return '';     }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

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

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
MVC, работа с видами
« : 04.04.2015, 11:44:35 »
Доброго времени суток.

К примеру есть данный контроллер:
Код
class ComponentControllerName extends JControllerLegacy {

    public function myMethod(){
       
        $view = $this->getView('name', 'html');
        $view->setLayout(__FUNCTION__);
       
        /// Отрабатывает код и я получаю переменную
        $arParams = [...тут какие то данные...];
       
        $view->arParams = $arParams;

        $view->display();
    }

}
Все отлично теперь мне остатется обработать результат в ./views/name/tmpl/mymethod.php

Сразу же вопрос, я что то не довключил или Joomla не понимает Camel стиль?
То есть такой путь он воспринимает ./views/name/tmpl/mymethod.php,
А токой нет ./views/name/tmpl/myMethod.php
...это в принципе мелочь, не смертельно...

Далее я хотел сгруппировать несколько видов в группу, по принципу:
Код
$view->setLayout("groups/".__FUNCTION__);

Ожидая, что подхватит ./views/name/tmpl/groups/mymethod.php, но чудо не получилось.
Подскажите как осуществить данную задумку?

Сейчас появилась нужда в использовании вида в виде:
Код
class ComponentControllerName extends JControllerLegacy {

    public function myMethod(){
       
        $view = $this->getView('name', 'html');
        $view->setLayout(__FUNCTION__);
       
        $vBreads = $this->getView('name', 'html');
        $vBreads->setLayout('breads');
        $vBreads->arBreads = $arBreads;
       
        /// Отрабатывает код и я получаю переменную
        $arParams = [...тут какие то данные...];
       
        $view->vBreads = $vBreads;
        $view->arParams = $arParams;

        $view->display();
    }

}
Данный код не пробовал, решил за одно спросить. В целом, имеет место быть?

..Возможно я много хочу...
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: MVC, работа с видами
« Ответ #1 : 04.04.2015, 12:16:20 »
1. Зачем вы все это делаете?
Joomla сама подхватывает имя вида если вы укажете
index.php?option=com_ваш_компонент&view=имя_вида!

2. Layout - это отдельный слой для отображения а не подшаблон!
Для подшаблона используют
default.php - основной шаблон загружающийся по умолчанию если не указан другой через $this->setLayout('layout_name'); в виде, или не указан через $_REQUEST index.php?option=com_ваш_компонент&view=имя_вида&layout=mymethod
default_images.php - первый подшаблон
default_documens.php - второй подшаблон
Загружаются подшаблоны в любом шаблоне через echo $this->loadTemplate('images'); echo $this->loadTemplate('documens');
Если же у вас другое имя слоя (mymethod.php) то файлы должны быть mymethod_images.php, mymethod_documens.php и загружаться будут точно так же как и выше!

3. Обрабатывать переменные по идее вы должны в модели!
*

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Re: MVC, работа с видами
« Ответ #2 : 04.04.2015, 20:27:31 »
1. Знаю, тогда наплодится папок вида: ./views/имя_вида, ./views/имя_вида_2, ./views/имя_вида_3
Сперва я попробовал данный подход, но перспективы не вдохновляли...
Поэтому решил пойти, возможно Неправильном, другим путем - использовать task=контроллер.экшен.
У меня на весь контроллер одна папка ./views/имя_вида.
Дальше на каждый экшен свой файл ./views/имя_вида/tmpl/имя_экшена.
В моем компоненте пока 3-и контолера, в каждом контролере по 7-мь методов.
Файлов и папок было бы как грязи. Хотелось как все красивенько разложить.
Если можно как то по другому, готов выслушать, на следующем контолере попробую.

2. Если честно, я запутался в написанном...
Использовать так?:
Код
class ComponentControllerName extends JControllerLegacy {

    public function myMethod(){
       
        $view = $this->getView('name', 'html');
        $view->setLayout(__FUNCTION__);
       
        ///$vBreads = $this->getView('name', 'html');
        $vBreads->loadTemplate('breads');
        $vBreads->arBreads = $arBreads;
       
        /// Отрабатывает код и я получаю переменную
        $arParams = [...тут какие то данные...];
       
        $view->vBreads = $vBreads;
        $view->arParams = $arParams;

        $view->display();
    }

}

3. Так как работаю с API, решил не делать дополнительные движения, создавая новые файлы.
Сперва, да, так и было...
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: MVC, работа с видами
« Ответ #3 : 04.04.2015, 20:42:20 »
В этом и смысл MVC для каждого вида отдельный вид! Иначе у вас кода будет столько что вы потом сами офигеете его править! А так зашел в нужную связку MVC и отредактировал то что вам нужно, а не мешанину из всего подряд..
Ладно у вас будет три вида а если 23? И у каждого слоя у вас будет по 5 подшаблонов? 100 с хреном файлов только в папке tmpl?
так как вы делаете это не верный подход!
*

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Re: MVC, работа с видами
« Ответ #4 : 05.04.2015, 11:03:22 »
Просто в Joomla, как мне показалось, такое громоздкое понятие вид.

По такой схеме я получаю вот такую структуру:
Код
site
-views
--name1
---view.html.php
---tmpl
----default
--name2
---view.html.php
---tmpl
----default
--nameN
---view.html.php
---tmpl
----default

Я работаю с API актокатолога и плюсом в громоздкой структуре, я могу получить и пляски с именами:
Код
site
-views
--markets_bmw
---view.html.php
---tmpl
----default.php
--markets_toyota
---view.html.php
---tmpl
----default.php
--models_bmw
---view.html.php
---tmpl
----default.php
--models_toyota
---view.html.php
---tmpl
----default.php
--details_bmw
---view.html.php
---tmpl
----default.php
--details_toyota
---view.html.php
---tmpl
----default.php

Сейчас я решил остановиться на:
Код
site
-views
--bmw
---view.html.php
---tmpl
----markets.php
----models.php
----details.php
--toyota
---view.html.php
---tmpl
----markets.php
----models.php
----details.php

Мой вариант мне кажется более лаконичным.
И если вариант выше, есть истина, то я пока не готов ее принять.

По поводу вида в виде, мне нужно было:
Код
site
-views
--bmw
---view.html.php
---tmpl
----markets.php
----models.php
----details.php
----search
-----vin.php
-----detail.php
--toyota
---view.html.php
---tmpl
----markets.php
----models.php
----details.php
----search
-----detail.php
-----vin
------detaled.php
------nomatch.php

Я добился этого, переопределив в view.html.php метод loadTemplate
Добавил разделитель директорий в разрешающие символы:
Код
$file = preg_replace('/[^A-Z0-9_\.-\/]/i', '', $file);

На сколько это плохо не знаю, но я не нашел другого пути...
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: MVC, работа с видами
« Ответ #5 : 05.04.2015, 11:14:06 »
что за бред?! отдельные виды для bmw, toyota.. вы что для каждого марки авто хотите делать отдельный вид?! Популярных брендов только 50 видов же!
У вас должен быть один вида! Категория! А что бы отобразить все тойоты вам нужно будет просто передать index.php?option=com_компонент&view=category&model=bmw
Где уже в таблицы выбрать все авто с марки "bmw" по полю в котором у вас в списке авто будет вписано название текущей модели авто!
*

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Re: MVC, работа с видами
« Ответ #6 : 05.04.2015, 11:35:16 »
Toyota и BMW - это две абсолютно разные базы, со своей структурой и своей спецификой.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: MVC, работа с видами
« Ответ #7 : 05.04.2015, 11:49:03 »
А зачем вам разные базы, когда все можно сделать в одной?
*

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Re: MVC, работа с видами
« Ответ #8 : 05.04.2015, 12:01:09 »
Базы разные, так как так и идут от производителя.
И каждый из производителей по своему видит структуру своих каталогов.
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: MVC, работа с видами
« Ответ #9 : 05.04.2015, 12:04:24 »
Базы разные, так как так и идут от производителя.
И каждый из производителей по своему видит структуру своих каталогов.
Почему не сделать одну таблицу, взять общие данные, добавить поля которые отличаются и все импортнуть в одну таблицу, не делая такую ахинею!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: MVC, работа с видами
« Ответ #10 : 05.04.2015, 12:10:35 »
Что, производитель целиком бд поставляет? жесть... Может быть, проще совместно разработать/согласовать транспортные файлы для передачи данных (xml, json, cvs)?
*

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Re: MVC, работа с видами
« Ответ #11 : 05.04.2015, 12:56:51 »
Объединить базы вообще ни как, выявлять общие данные накладно.
Поэтому приходится работать с базами как есть.

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

Остался один момент - как подгрузит под-вид, передав в него параметры, что бы потом использовать в основном виде?
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: MVC, работа с видами
« Ответ #12 : 05.04.2015, 14:12:07 »
Остался один момент - как подгрузит под-вид, передав в него параметры, что бы потом использовать в основном виде?
Никак (если вы имеете ввиду $this->loadTemplate()), подвиды загружаются внутри шаблонов вида, и получают параметры из вида, или с передачи с основного вида! В вашей задаче в любом случае (даже с двумя, хоть с 22-мя разными базами) нужно использовать только один вид!
А уже при указании модели выполнять просто выборку с нужной таблицы, возможно подсовывая запросы или слои..
Так как вы делаете это бред!
И зачем вы это вообще делаете не понимаю? MVC в системе для того и нужна что бы писать по её стандарту! Не можете писать по этому стандарту - удалите все  и создайте нужную вам структуру которая будет бегать куда вам нужно и делать то что нужно без привязки к API системы и впихивания бесконечного количества костылей! Ведь вы все равно не используете то что вам дает система, и то чем облегчает жизнь, а пишете костыль в обход задействовав пару процентов от того что дает Joomla MVC!

И все же я не понимаю почему вы не можете использовать так: index.php?option=com_component&view=bmv&layout=search
А в виде view.html.php в зависимости от того какой у вас layout уже получать нужные данные из модели!
« Последнее редактирование: 05.04.2015, 14:32:23 от Istaan »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: MVC, работа с видами
« Ответ #13 : 05.04.2015, 15:07:44 »
Объединить базы вообще ни как, выявлять общие данные накладно.
Поэтому приходится работать с базами как есть.
Тогда Создайте в своей базе единую универсальную структуру, которая будет учитывать потребности всех производителей, далее периодически (по поступлению обновленных данных) просто цепляйте базу, импортируйте ее данные в свою (отдельный универсальный вид в админке), а уж потом работайте с единым массивом данных в одной базе, при грамотной структуре и ее индексации производительность увеличится в сотни раз! (я кстати, начинал свой первый компонент на J примерно с такой же задачей: объединить данные с различных баз в одну на J, только на входе были базы 1С, и я использовал xml-транспорт).
А то, как у вас сейчас, это даже не бред, это я не знаю как назвать даже... Вы сейчас все это наишите, отладите, потом забудете, через полгода понадобятся правки - залезете, а там... и сами не разберетесь.
« Последнее редактирование: 05.04.2015, 15:11:51 от AlekVolsk »
*

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Re: MVC, работа с видами
« Ответ #14 : 05.04.2015, 15:26:52 »
@Istaan
Цитировать
нужно использовать только один вид!
Ну не могу я пока это психологически воспринять...
Во всех MVC фреймворках, с которыми я работал, вид идет на каждое действие.
А тут какой то контроллер-вид получается.

Сейчас у меня: index.php?option=com_autocatalog&task=etka.markets&mark=volkswagen
Вы предлагаете, если я правильно понял: index.php?option=com_autocatalog&view=etka&layout=markets&mark=volkswagen

Ваш подход я обязательно попробую, но уже к другой базе.
И у меня уже появились вопросы.
layout так же как view автоматически подхватывается Joomla?
Где в Вашем случае контроллер? Что он делает?

Вид в виде пришлось решить через инклуд, а данные передавать через статические свойства объекта.
Но хотелось бы что то изящного..


@AlekVolsk
Думаю в этом направлении, пока все не однозначно.
Поднакопим больше баз, хотя бы с десяток, что бы понять, что нам нужно
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: MVC, работа с видами
« Ответ #15 : 05.04.2015, 15:49:04 »
Цитировать
Но хотелось бы что то изящного..
http://joomlablog.ru/dokumentatsiya/dlya-razrabotchika/sozdanie-komponenta-dlya-joomla-2-5
*

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Re: MVC, работа с видами
« Ответ #16 : 05.04.2015, 16:00:00 »
И это я читал.
Скажу больше, использую тот компонент для каркаса.
Но максимум что по моим вопросам можно почитать - это вторую часть, да и то там нет ответов.
Возможно я плохо читал, возможно мне вскружило голову что то новое, но буду рад если укажите на нужную часть.
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: MVC, работа с видами
« Ответ #17 : 05.04.2015, 18:56:13 »
Во всех MVC фреймворках, с которыми я работал, вид идет на каждое действие.
А тут какой то контроллер-вид получается.
Ни в одном фреймворке не идет вид на каждое действие! Допустим у нас есть вид списка, в котором есть кнопки снять с публикации и удалить, вы хотите сказать что вы для этих действий делали отдельные виды?)

Сейчас у меня: index.php?option=com_autocatalog&task=etka.markets&mark=volkswagen
Вы предлагаете, если я правильно понял: index.php?option=com_autocatalog&view=etka&layout=markets&mark=volkswagen
Нет я не это предлагаю! У вас же на каждое авто отдельный вид! Я предлагаю: index.php?option=com_autocatalog&view=volkswagen&layout=search

layout так же как view автоматически подхватывается Joomla?
Где в Вашем случае контроллер? Что он делает?
При передачи ссылки типа: index.php?option=com_autocatalog&view=volkswagen&layout=search
Подключается дефолтный контроллер, который смотрит или есть что в переменной task! Если ничего нет - то выполняет метод display() который подключает вид который пришел в переменной view (и заодно модель для этого вида)! А вид уже в зависимости от того что пришло в layout подключает нужный слой! Если ничего не пришло подключает tmpl/default.php

Вид в виде пришлось решить через инклуд, а данные передавать через статические свойства объекта.
Но хотелось бы что то изящного..
Я уже писал выше - изящно - использовать стандарт Joomla, нужно по другому удалить все что есть и написать какой вам удобно костыль..
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: MVC, работа с видами
« Ответ #18 : 05.04.2015, 19:08:59 »
Кстати вот интересно, а отображение всего этого должно быть одинаково? Или вывод каталога меняется в зависимости от модели авто? или на все один дизайн?
Если на все один дизайн, то вам реально нужен один вид всего, и менять модель для работы с нужной таблицей (ну или несколько видов: список, обзор записи, заказ например или что там вам надо) и этим видам подсовывать нужную модель в зависимости от марки авто!
« Последнее редактирование: 05.04.2015, 19:13:38 от Istaan »
*

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Re: MVC, работа с видами
« Ответ #19 : 05.04.2015, 19:14:32 »
Позвольте ссылкой на источник
Audi, Volkswagen, Seat, Skota - это одна база ETKA, у них схожее поведение
BMW, Mini, Rolls-Royce - это все каталог от BMW
...я начинаю пробовать Ваш подход...
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: MVC, работа с видами
« Ответ #20 : 06.04.2015, 13:18:23 »
Цитировать
Во всех MVC фреймворках, с которыми я работал, вид идет на каждое действие.
Это наверное потому, что в Joomla вид (представление) - это не просто графический интерфейс, а именно настоящий View - взаимодействует с основной моделью (или несколькими), содержит в себе данные из этой модели и в то же время занимается отображение этих данных.
http://blog.ircmaxell.com/2014/11/a-beginners-guide-to-mvc-for-web.html

А в остальных фреймворках представление тупо отображает те данные, что ей дали, либо сразу шаблонизатор используют:
http://laravel.com/docs/5.0/views
http://www.yiiframework.com/doc-2.0/guide-structure-views.html
http://symfony.com/doc/current/quick_tour/the_view.html
http://www.codeigniter.com/userguide3/general/views.html
*

borodatych

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Re: MVC, работа с видами
« Ответ #21 : 06.04.2015, 14:13:11 »
@b2z, благодарю за ответ.
Видимо я привык к ТТУК — «Толстые тупые уродливые контроллеры», и увидев ТТУМ — «Толстые тупые уродливые виды», растерялся.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: MVC, работа с видами
« Ответ #22 : 06.04.2015, 14:24:08 »
Даже и не знаю, что лучше-то...
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: MVC, работа с видами
« Ответ #23 : 06.04.2015, 14:53:12 »
Лучше конечно логику держать в модели. Но, это не получается. Ну вот где делать различные проверки, типа опубликовна сущность или нет, залогинен юзер или нет и т.д. и т.п., перед тем, как вообще что-то отображать? В итоге контроллеры все равно разрастаются, если какие-то сложные вещи делаю, типа сохранения данных связанных сущностей и попутно проверки (итого 200 строк кода в одном методе). Но я пытаюсь держать их в узде.

В представлении вообще стараюсь логику не использовать, а если использую, то только ту, что нужна непосредственно для самого представления.

В идеале, компонент должен быть таким, чтобы его с минимальным рефакторингом можно было бы при необходимости перенести на другой фреймворк. Но этого очень тяжело добиться, но все же если стараться, то ТТУК и ТТУМ не будет. Как-то так :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Работа с датой, дата в родительском падеже

Автор Xiss

Ответов: 4
Просмотров: 2443
Последний ответ 27.02.2014, 19:13:43
от Xiss
[Решено] Работа со сторонним модулем из своего компонента

Автор st.al

Ответов: 5
Просмотров: 1454
Последний ответ 20.06.2013, 17:35:04
от st.al
Работа с несколькими таблицами базы данных на одной странице редактирования материала Joomla

Автор Extalionez

Ответов: 6
Просмотров: 5585
Последний ответ 02.12.2012, 16:14:53
от rsa_m
Редактирование объекта в компоненте - работа с 2мя таблица. Как реализовать?

Автор Sl@vk@

Ответов: 6
Просмотров: 1933
Последний ответ 08.03.2012, 23:47:59
от Sl@vk@
Работа с JFilterInput в J1.7

Автор Helios

Ответов: 3
Просмотров: 1929
Последний ответ 12.12.2011, 18:17:01
от SDKiller