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

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Написание Компонента
« Ответ #90 : 02.09.2016, 14:17:24 »
Дима зачем этот синтаксический сахар?
А зачем писать несколько include_once или require_once?
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Написание Компонента
« Ответ #91 : 02.09.2016, 14:20:29 »
А зачем писать несколько include_once или require_once?
А зачем несколько?
Пример com_content:
Спойлер
[свернуть]
никто не заморачивается, ибо include_once или require_once будет работать быстрее!
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Написание Компонента
« Ответ #92 : 02.09.2016, 14:22:45 »
Цитировать
никто не заморачивается, ибо include_once или require_once будет работать быстрее!
Каждый делает, как ему удобнее. Я один раз грузанул JLoder`ом и мне не нужно помнить, что если я добавляю новый helper, мне надо ещё где-то его подключать.
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Написание Компонента
« Ответ #93 : 02.09.2016, 14:23:51 »
Каждый делает, как ему удобнее. Я один раз грузанул JLoder`ом и мне не нужно помнить, что если я добавляю новый helper, мне надо ещё где-то его подключать.
Ну как бы зачем помнить, создал новый хелпер и не подрубил - получил Fatal Error ;D
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Написание Компонента
« Ответ #94 : 02.09.2016, 14:29:33 »
Цитировать
Дима зачем этот синтаксический сахар?

Это не сахар. Jloader хранит имена классов и пути и подключает их только при необходимости. Что то типа ленивой загрузки. Это может быть полезно для громоздких библиотек.
интернет-блог: http://websiteprog.ru
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Написание Компонента
« Ответ #95 : 02.09.2016, 14:34:44 »
Это не сахар. Jloader хранит имена классов и пути и подключает их только при необходимости. Что то типа ленивой загрузки. Это может быть полезно для громоздких библиотек.
а зачем оно все это хранит если я подключаю ОДИН раз в точке входа в компонент?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Написание Компонента
« Ответ #96 : 02.09.2016, 14:37:56 »
Цитировать
а зачем оно все это хранит если я подключаю ОДИН раз в точке входа в компонент?

Смотря что подключать. Если тот класс что вы подключаете подключает еще тонны классов то это имеет смысл. Смысл в том, что подключения будут выполнятся только тогда, когда класс будет запрошен. Это автолодер по сути.
« Последнее редактирование: 02.09.2016, 14:44:35 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Написание Компонента
« Ответ #97 : 02.09.2016, 14:45:33 »
Охохо, вот где все собрались, прямо праздник какой-то ::). Форум явно испытывает нехватку качественных новичков. Обычно можно встретить такое сборище старичков только во флейме ;D.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Написание Компонента
« Ответ #98 : 02.09.2016, 14:46:23 »
Смысл в том, что подключения будут выполнятся только тогда, когда класс будет запрошен.
Ну вот если JLoader так и работает то это единственный смысл при условии что хелпер не дергается в каждом виде...
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Написание Компонента
« Ответ #99 : 02.09.2016, 15:53:54 »
Смысл в том, что подключения будут выполнятся только тогда, когда класс будет запрошен. Это автолодер по сути.
Именно, автолоадер. Но вот что-то не нахожу реализацию lazy loading.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Написание Компонента
« Ответ #100 : 02.09.2016, 15:57:39 »
Ну так автолодер то и загружает классы только когда они используются:
http://php.net/manual/ru/language.oop5.autoload.php

Ленивая загрузка может не совсем корректный термин но суть примерно такая.
интернет-блог: http://websiteprog.ru
*

zheev

  • Захожу иногда
  • 98
  • 0 / 0
Re: Написание Компонента
« Ответ #101 : 02.09.2016, 16:12:23 »
Всем спасибо большое
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Написание Компонента
« Ответ #102 : 02.09.2016, 16:48:41 »
Есть еще одна фишка jloader о которой я забыл упомянуть. Помимо того что вы можете просмотреть список всех загружаемых классов вы еще и можете изменить путь к нему. Этим самым вы можете придать гибкость своему расширению. Другой разработчик может заменить ваш класс на свой собственный просто подменив путь к файлу. Ему для этого не потребуется хакать ваше расширение как в случае если класс подгружен через require_once. Впрочем применение подобной практики довольно редкая и вызывающая сомнения необходимость а для предоставления возможности кастомизации есть и другие способы.
« Последнее редактирование: 02.09.2016, 17:00:47 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

zheev

  • Захожу иногда
  • 98
  • 0 / 0
Re: Написание Компонента
« Ответ #103 : 03.09.2016, 13:07:17 »
Ребят, спасибо за помощь с предыдущими вопросами. Был бы очень признателен, если бы помогли разобраться ещё с 2-мя вопрсоами.
1. При удаление записи в рамках компонента моего, ничего не происходит, только alert с текстом raspisanie.delete?
Спойлер
[свернуть]

2. Существует ли для Joomla расширение, которое помогало бы показывать контент, только для клиентов, которые оплатили просмотр.

Заранее спасибо вам)
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Написание Компонента
« Ответ #104 : 05.09.2016, 09:02:19 »
1. Файлы raspisanie: контроллер, модель, таблица созданы?
2. Существует, надо искать.
*

zheev

  • Захожу иногда
  • 98
  • 0 / 0
Re: Написание Компонента
« Ответ #105 : 05.09.2016, 12:18:31 »
1. Файлы raspisanie: контроллер, модель, таблица созданы?
2. Существует, надо искать.

1. Да
Спойлер
[свернуть]



Спойлер
[свернуть]

Спойлер
[свернуть]
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Написание Компонента
« Ответ #106 : 05.09.2016, 14:23:42 »
Вы мне показали контроллер элемента, а где контроллер списка? Типа IvgpuControllerRaspisanies, ну и кнопка должна быть тогда JToolBarHelper::deleteList('raspisanies.delete').
*

zheev

  • Захожу иногда
  • 98
  • 0 / 0
Re: Написание Компонента
« Ответ #107 : 05.09.2016, 14:56:05 »
Вы мне показали контроллер элемента, а где контроллер списка? Типа IvgpuControllerRaspisanies, ну и кнопка должна быть тогда JToolBarHelper::deleteList('raspisanies.delete').

Спойлер
[свернуть]

Спойлер
[свернуть]

*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Написание Компонента
« Ответ #108 : 05.09.2016, 15:09:02 »
В getModel подключите модель Raspisanie.
Модель списка IvgpuModelRaspisanies лучше наследовать от JModelList и реализовать запрос в методе getListQuery().

Посмотрите, как сделан com_content в админке. Многое станет понятно.
*

zheev

  • Захожу иногда
  • 98
  • 0 / 0
Re: Написание Компонента
« Ответ #109 : 05.09.2016, 15:17:35 »
В getModel подключите модель Raspisanie.
Модель списка IvgpuModelRaspisanies лучше наследовать от JModelList и реализовать запрос в методе getListQuery().

Посмотрите, как сделан com_content в админке. Многое станет понятно.

Понял спасибо)
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: Написание Компонента
« Ответ #110 : 05.09.2016, 20:08:08 »
гы =) ИГПУ всех "старичков" собрал

Коллега походу получил задачу с написанием расписания для студентов, чем страдает и наш ВУЗ. Осень - общие заботы у всего Высшего образования.

С приветом из КФУ.
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: Написание Компонента
« Ответ #111 : 05.09.2016, 20:10:11 »
@Istaan - молодец что вновь стал писать статьи на блог, после материалов Димы, он второй самый любимый русскоязычный ресурс для Joomla-разработчиков.
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Написание Компонента
« Ответ #112 : 05.09.2016, 23:59:20 »
@Istaan - молодец что вновь стал писать статьи на блог,
Время появилось и желание )

после материалов Димы, он второй самый любимый русскоязычный ресурс для Joomla-разработчиков.
:o
*

zheev

  • Захожу иногда
  • 98
  • 0 / 0
Re: Написание Компонента
« Ответ #113 : 06.09.2016, 12:54:06 »
Ребят, всем привет. Нужна снова ваша помощь. Нужно отсортировать записи в БД по недели и дню

 
Спойлер
[свернуть]

->order ставлю после where. В таком виде работает, дни отсортировались. А вот недели в обратном порядке не сортируются(
*

zheev

  • Захожу иногда
  • 98
  • 0 / 0
Re: Написание Компонента
« Ответ #114 : 06.09.2016, 12:54:38 »
гы =) ИГПУ всех "старичков" собрал

Коллега походу получил задачу с написанием расписания для студентов, чем страдает и наш ВУЗ. Осень - общие заботы у всего Высшего образования.

С приветом из КФУ.


Спасибо!!Взаимно)) задачу не получал)) моя инициатива)
« Последнее редактирование: 06.09.2016, 13:12:24 от zheev »
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Написание Компонента
« Ответ #115 : 06.09.2016, 13:33:56 »
Спасибо!!Взаимно)) задачу не получал)) моя инициатива)
А вы мазохист батенька ) Разве не знаете что инициатива наказуема?)
*

zheev

  • Захожу иногда
  • 98
  • 0 / 0
Re: Написание Компонента
« Ответ #116 : 06.09.2016, 13:38:59 »
А вы мазохист батенька ) Разве не знаете что инициатива наказуема?)

Хочется в Joomla разобраться ну и полезное дело)) а с сортировкой не поможете?
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Написание Компонента
« Ответ #117 : 06.09.2016, 14:00:11 »
Хочется в Joomla разобраться ну и полезное дело)) а с сортировкой не поможете?
попробуйте так:
(SELECT * FROM table_name ORDER BY `week` DESC) ORDER BY `day` ASC;
Сортировка по двум полям одновременно как бы не очень получится!
*

zheev

  • Захожу иногда
  • 98
  • 0 / 0
Re: Написание Компонента
« Ответ #118 : 06.09.2016, 14:03:56 »
попробуйте так:
(SELECT * FROM table_name ORDER BY `week` DESC) ORDER BY `day` ASC;
Сортировка по двум полям одновременно как бы не очень получится!

лучше по какому то одному полю?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Написание Компонента
« Ответ #119 : 07.09.2016, 13:05:01 »
Метод order имеет только 1 аргумент, попробуйте вызывать так
Код: php-brief
$sort=(date('W')%2=='0')?' DESC':'';
$query->order($this->getDbo()->quoteName('r.week').$sort)->order($this->getDbo()->quoteName('r.day'));
Сортировка по двум полям одновременно как бы не очень получится!
Почему же? http://dev.mysql.com/doc/refman/5.7/en/sorting-rows.html
« Последнее редактирование: 07.09.2016, 13:12:27 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться