Новости Joomla

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

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

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Это к вопросу о читаемости.
Можно так.
Код: php

$query->where($db->quoteName('a.channel_id'). ' = '.$db->quote('1'));
$query->where('('.
$db->quoteName('a.day_of_week').' = '.$db->quote('1').' AND '. $db->quoteName('a.start_time').' > '.$db->quote('05:40').' OR '.
$db->quoteName('a.day_of_week').' = '.$db->quote('2').' AND '. $db->quoteName('a.start_time').' < '.$db->quote('05:40')

.')');

Можно еще так
Код: php

$query->select('')
->where($db->quoteName('a.channel_id'). ' = '.$db->quote('1'))
->where('('.
$db->quoteName('a.day_of_week').' = '.$db->quote('1').' AND '. $db->quoteName('a.start_time').' > '.$db->quote('05:40').' OR '.
$db->quoteName('a.day_of_week').' = '.$db->quote('2').' AND '. $db->quoteName('a.start_time').' < '.$db->quote('05:40')
.')');

Хотя сам по себе запрос очень стнанный и его можно сделать куда проще, тут же заурядное сравнение дат.
Да и вообще не хочешь не юзай. будешь писать модели для компонентов ощутишь разницу.
« Последнее редактирование: 08.07.2016, 10:46:00 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Цитировать
Хотя сам по себе запрос очень стнанный и его можно сделать куда проще, тут же заурядное сравнение дат.
Да и вообще не хочешь не юзай. будешь писать модели для компонентов ощутишь разницу.

Ничего странного. Это как раз компонент программы передач для африканского ТВ.  Там трансляции начинаются в 5:40 утра каждого дня и заканчиваются в тоже время  следущего дня. Выборка идет не по датам а по дням недели. Да и время начала трансляции зависит от канала на самом деле, но я уже не стал усложнять пример.

Цитировать
.$db->quote('1')

А вот это действительно странно. Вы это зачем делаете позвольте поинтересоваться?

Цитировать
грусть печаль ребята, а так пробовали?!

Какое это имеет отношение к плагинам? Обычная практика наследования, применение который вызывает сомнения. Чем вы меня тут пытаетесь удивить ? Я могу в конце концов метод getArticle добавить к модели и там же реализовать подобный запрос. И это будет как то более правильно так как query используется не только для выборки материалов а вот модель может быть завязана на материале как раз.
« Последнее редактирование: 08.07.2016, 13:07:08 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Ничего странного. Это как раз компонент программы передач для африканского ТВ.  Там трансляции начинаются в 5:40 утра каждого дня и заканчиваются в тоже время  следущего дня. Выборка идет не по датам а по дням недели.
помню писал комонент прогаммы передач чистое сравнение дат. Задаем дату с времинем и делаем бтивин + 1 день (Колво дней). Запрос будет куда короче. если на неделю то + 7 дней, потом можно уже если надо можно масиив разделить по дня недели в отдельной функции, если нужно.
Получится примерно так.
Функция запроса в которую предаешь количесто дней и старотвую дату.
Функция получения маииса конкретного дня.
Функция получения программы на неделю.
На месяц и т.д как угодно. И к аяксу подключать легко.
Я конечно не смотрю африканское тв, но не думаю что там одна и та же программа передачть каждую неделю.
А вот это действительно странно. Вы это зачем делаете позвольте поинтересоваться?
В смысле зачем '1', честно может по привыче может еще почему, я давно пишу запросы в базу не задумываясь. Во первых я не знаю что у тебя 1. число это или строка, а во вторых так всегда работает, а вот когда число работает через раз.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Бред вы какой то пишите, даже не понимая задач. Программа на неделю. Список программ просто. Зачем вообще даты там хранить какие то?

Цитировать
я давно пишу запросы в базу не задумываясь

Ну в этом то мы наверное и отличаемся. Я все же сначало думаю прежде чем что то написать.
« Последнее редактирование: 08.07.2016, 13:23:48 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Бред вы какой то пишите, даже не понимая задач. Программа на неделю. Зачем вообще даты там хранить какие то?
Ну потому что это программа передачь. Я не думаю что вы понимаете задачу.
Как работает программа предачь.
Она составляется где-нибудь в среду на всею неделю. И оставляется по датам.
Вот как у вас это будет проиходить?
У вас в базе есть только 7 дней => в базе понедельник 4.07.16 = 11.07.16, вот как в вашем компоненте мне сегодня написать телепрограмму на 11 число?
Как составить программу на сл. неделю, не затронув текущею?

Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Вы я смотрю любитель оверкодинга. Программа всегда на текущую неделю.  Для каждой программы задается день недели(понедельник, вторник, среда и т.д.) по которому она транслируется.
интернет-блог: http://websiteprog.ru
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Вы я смотрю любитель оверкодинга. Программа всегда на текущую неделю.  
Ну ок. Пожалуйста. А добавлять то как? Или мне надо в понедельник в 4 утра закрывать сайт и в попухах переделывать программу на всю неделю. Об удобстве добавления, забывать не надо.
А при работе с датами  я могу не торопясь добавлять передачи (или дни целиком я хз как планируете это реализовать), в течении недели. и в понедельник в 5:30 на сайте отобразится новая программа.
P.S  Компонент программы передачь по сути, это компонент мероприятий.
Для каждой программы задается день недели(понедельник, вторник, среда и т.д.) по которому она транслируется.
Ок давай на примере, взмоем сериал.
С 13.07 начинается Сериал "Моя Африка"
Сегодня 8.07
Если я в твоем вариант долбаю ее сегодня то с твоей структурой получится что 1 серия вышла 4.07. А не выйдет 13. + описание серий, программ и прочего может и будет разным.

Писать компонент не думая об очевидном функционале который может понадобиться не разумно, замучишься 100 раз его преписывать с 0. Надо учитывать все возможные варианты.
« Последнее редактирование: 08.07.2016, 13:42:11 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Цитировать
Ну ок. Пожалуйста. А добавлять то как? Или мне надо в понедельник в 4 утра закрывать сайт и в попухах переделывать программу на всю неделю. Об удобстве добавления, забывать не надо.

Вас если заказчик попросит сделать кастомные поля для формы вы ему станете cck писать за тот же бюджет? Вы странный человек ей богу. Есть задачи, есть реализация этих задач. Остальные вопросы к тем кто эти задачи ставит. К слову у заказчика уже был подобный компонент с такой же реализацией но под Joomla 1.x работал. Заказчика все устраивало, он настаивал именно на таком функционале. Я не знаю как у них в Мозамбике работает ТВ , мне это вообщем то и по барабану абсолютно.

« Последнее редактирование: 08.07.2016, 13:48:13 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Вас если заказчик попросит сделать кастомные поля для формы вы ему станете cck писать за тот же бюджет? Вы странный человек ей богу. Есть задачи, есть реализация этих задач. Остальные вопросы к тем кто эти задачи ставит.
Ну начнем с того что я вообще не буду писать компонент который есть, да и вообще, написание компонента влетит заказчику в копеечку =). Зачем мне писать cck если я могу поставить ему zoo или k2 ну на край просто за 20 минут плагин написать.
Ну а если уж писать компонент то писать нормально, ибо знаем мы всех этих закупщиком, он к тебе через неделю прибежит что ой я ошибся, и зачем мне переписывать, если я могу ему его просто перенастроить.  + Сразу можно взять еще парочку заказов на тот же функционал и потратить 0 времени.
Лучше 1 раз потрать на час больше. Чем потом каждый раз переписывать.

Ну если реализовать твою задачу разово. То сверстай ему HTML файл. и выводи код в материале. Или напиши модуль который будет будет  брать программу из тоже csv файла.
« Последнее редактирование: 08.07.2016, 13:53:55 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Цитировать
Лучше 1 раз потрать на час больше. Чем потом каждый раз переписывать.

Если за доп. функционал или изменения этого функционала будут платит доп. деньги что почему бы и не переписать. А если заказчика все устраивает и есть вероятность что он к вам больше не обратится то зачем вообще тратить лишнее время и усилия за тот же бюджет?

Кароче это глупая и бесполезная полемика я тут только время теряю. Фанатов JDatbaseQuery не переубедить) Умываю руки а то тему и так засрали капитально.  
« Последнее редактирование: 08.07.2016, 13:59:41 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Какое это имеет отношение к плагинам? Обычная практика наследования, применение который вызывает сомнения. Чем вы меня тут пытаетесь удивить ? Я могу в конце концов метод getArticle добавить к модели и там же реализовать подобный запрос. И это будет как то более правильно так как query используется не только для выборки материалов а вот модель может быть завязана на материале как раз.
Ну по вашей логике лучше вообще не использовать CMS
Ведь проще написать кучу вещей и будет намного понятнее, меньше строк, больше гов.нокода и костылей... зачем использовать непонятный МVC можно же на функциях нафигачить в одном файле!  а создание форм в админке через XML пфф.. ещё этот неудобный и нестуктурированный XML изучать, проще накидать инпутов делов то..
И к плагинам это не имеет никакого отношения, ибо вы не можете понять что я хочу сказать! Ладно опишу подробнее если с двух раз не поняли!
1. вы пишете компонент
2. Компонент пошел в массу
3. Народу нужно редактировать запросы, как сделать это просто и что бы народ мог менять запрос, дополнять или улучшать (что часто надо абсолютно в любом левом компоненте)!

Как проще дать народу инструмент для редактирования запросов? правильно вызвать после запроса EventManager, передать в какой то event событие, а уже в плагине можно подхватить это запрос и дописать или полностью переписать не трогая ядро компонента!
« Последнее редактирование: 08.07.2016, 22:33:41 от Istaan »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Цитировать
Как проще дать народу инструмент для редактирования запросов? правильно вызвать после запроса EventManager, передать в какой то event событие, а уже в плагине можно подхватить это запрос и дописать или полностью переписать не трогая ядро компонента!

Да пожалуйста что же я против:

Код: php
$dispatcher->trigger('onMycomponentBeforeSetQuery', array('query' =>$query))

И тут вот уже не важно что там будет в query. Объект JDatabaseQuery или строка запроса так как ему один фиг чтобы вытащить поля придется пройтись регуляркой по строкам.
интернет-блог: http://websiteprog.ru
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
нормальный такой срач тут развели )))
В общем, как было сказано в одном небезызвестном фильме: "Бен, ай нид хелп"
Есть запрос:
Код: php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->join('LEFT', $db->quoteName('#__virtuemart_products', 'p'). 'ON (' . $db->quoteName('p.virtuemart_product_id'). ' = ' . $db->quoteName('pl.virtuemart_product_id'). ')');
$query->join('LEFT', $db->quoteName('#__vmgtx', 'v'). 'ON (' . $db->quoteName('v.id'). ' = ' . $db->quoteName('p.virtuemart_product_id'). ')');
$query->where($db->quoteName('p.published'). ' = 1');
$query->select(array('v.*', 'pl.product_name'));
$query->from($db->quoteName('#__virtuemart_products_' . VmConfig::$vmlang, 'pl'));
$orderCol  = $this->state->get('list.ordering', 'product_name');
$orderDirn = $this->state->get('list.direction', 'ASC');
$query->order($db->escape($orderCol . ' ' . $orderDirn));
$query = $db->loadObjectList();

Joomla ругается следующим образом:
Цитировать
Предупреждение

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array' at line 1 SQL=Array
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array LIMIT 0, 20' at line 1 SQL=Array LIMIT 0, 20
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array' at line 1 SQL=Array

Цитировать
Notice: Array to string conversion in C:\OpenServer\domains\virtuemart.local\libraries\joomla\database\driver\mysqli.php on line 567
Notice: Array to string conversion in C:\OpenServer\domains\virtuemart.local\libraries\joomla\database\driver\mysqli.php on line 567
Notice: Array to string conversion in C:\OpenServer\domains\virtuemart.local\libraries\joomla\database\driver\mysqli.php on line 567

Где ошибка?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Цитировать
$query = $db->loadObjectList();

правильно вы массив объектов в query загоняете  зачем то. Причем походу пустой массив так как вы setQuery не проинициализировали
интернет-блог: http://websiteprog.ru
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
правильно вы массив объектов в query загоняете  зачем то. Причем походу пустой массив так как вы setQuery не проинициализировали
setQuery проинициализирован. Я комментарии удалял, когда сюда код копировал, случайно, видно, удалил. Вот так выглядит запрос:
Код: php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->join('LEFT', $db->quoteName('#__virtuemart_products', 'p'). 'ON (' . $db->quoteName('p.virtuemart_product_id'). ' = ' . $db->quoteName('pl.virtuemart_product_id'). ')');
$query->join('LEFT', $db->quoteName('#__vmgtx', 'v'). 'ON (' . $db->quoteName('v.id'). ' = ' . $db->quoteName('p.virtuemart_product_id'). ')');
$query->where($db->quoteName('p.published'). ' = 1');
$query->select(array('v.*', 'pl.product_name'));
$query->from($db->quoteName('#__virtuemart_products_' . VmConfig::$vmlang, 'pl'));
$orderCol  = $this->state->get('list.ordering', 'product_name');
$orderDirn = $this->state->get('list.direction', 'ASC');
$query->order($db->escape($orderCol . ' ' . $orderDirn));
$db->setQuery($query);
$result = $db->loadObjectList();

переделал последнюю строку. вместо
Код: php
$query = $db->loadObjectList();
теперь
Код: php
$result = $db->loadObjectList();

ошибки те же самые
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Какая версия PHP?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
PHP 5.6
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Вы в select передаёте array, а нужно в quoteName передавать:

Код: php-brief
$query->select(
$db->quoteName(array('v.*', 'pl.product_name'))
);
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
да, так работает. странно, запрос я составлял согласно документации с https://docs.joomla.org/Selecting_data_using_JDatabase
раздел Selecting Records from Multiple Tables
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
да, так работает. странно, запрос я составлял согласно документации с https://docs.joomla.org/Selecting_data_using_JDatabase
раздел Selecting Records from Multiple Tables
Там ошибка. Кстати, можете обращаться к этой документации (я переводил).
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Что-то я погорячился с тем, что заработало. Вылезла такая ошибка:

Цитировать
Unknown column
Код: php
'v.*' in 'field list' SQL=SELECT `v`.`*`,`pl`.`product_name` FROM `txao8_virtuemart_products_ru_ru` AS `pl` LEFT JOIN `txao8_virtuemart_products` AS `p`ON (`p`.`virtuemart_product_id` = `pl`.`virtuemart_product_id`) LEFT JOIN `txao8_vmgtx` AS `v`ON (`v`.`id` = `p`.`virtuemart_product_id`) WHERE `p`.`published` = 1 ORDER BY v.product_name ASC

Думал, разберусь в чем там дело, но нифига не понимаю. Причем, запрос, который бы изначально:

Код: php
$join[] = ' LEFT JOIN `#__virtuemart_products` AS p ON p.`virtuemart_product_id` = pl.`virtuemart_product_id`';
$join[] = ' LEFT JOIN `#__vmgtx` AS v ON v.id = p.`virtuemart_product_id`';
$where[] = ' p.published = 1 ';
$query  = ' SELECT SQL_CALC_FOUND_ROWS v.*, pl.product_name FROM `#__virtuemart_products_' . VmConfig::$vmlang . '` AS pl '.implode(' ', $join);
$query .= ' WHERE '.implode(' AND ', $where).' ORDER BY v.product_name ASC';

Работает.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Код: php-brief
$query->select('v.*')->select($db->quoteName('pl.product_name'));
Не будь паразитом, сделай что-нибудь самостоятельно!
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
если так, то:
Цитировать
Ошибка

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array LIMIT 0, 20' at line 1 SQL=Array LIMIT 0, 20 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array' at line 1 SQL=Array

Цитировать
Notice: Array to string conversion in C:\OpenServer\domains\virtuemart.local\libraries\joomla\database\driver\mysqli.php on line 561

Notice: Array to string conversion in C:\OpenServer\domains\virtuemart.local\libraries\joomla\database\driver\mysqli.php on line 561
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не знаю, почему $query у вас из JDatabaseQuery-объекта превратилась в массив. Создал файл с вашим кодом
Спойлер
[свернуть]
У меня работает. Joomla 3.2.7.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
У меня есть подозрение, что ТС пытается хакнуть метод getListQuery какой нибудь модели списка. И вместо $query он возвращает массив результатов. У меня нету проектов на VirtueMart сейчас чтобы проверить.
интернет-блог: http://websiteprog.ru
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
В общем, какая-то фигня.
если так:
Код: php
jimport('joomla.application.component.modellist');
class VMgtXModelVMgtX extends JModelList {
....
}
То выдает такую ошибку
Цитировать
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array LIMIT 0, 20' at line 1 SQL=Array LIMIT 0, 20
При этом, я даже найти не могу, где этот запрос генерируется - в файле модели уже для эксперимента оставлял только

Код: php
<?php defined('_JEXEC') or die;

jimport('joomla.application.component.modellist');

class VMgtXModelVMgtX extends JModelList {
} ?>

У меня есть догадки, что это связано с пагинацией и количеством элементов на странице, но как победить - ХЗ.

а если так:
Код: php
jimport('joomla.application.component.modeladmin');
class VMgtXModelVMgtX extends JModelAdmin {
....
}
то работает.

в качестве мануалов пользуюсь материалами с CMSCafe
*

robert

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

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Надо не побеждать, а понять суть того, что делаете. Даже если все заработает, то это лишь везение, пока не можете различать JModelList и JModelAdmin. Похоже, zomby6888 был прав.
Я понимаю, что я хочу сделать, но не совсем понимаю, как это реализовать, ибо только начинаю изучать.
Документации на русском кроме cmscafe толковой нет. Но и там про Joomla API очень мало. Поэтому, в основном, пользуюсь готовыми примерами, адаптируя их под себя.
Если объясните разницу между JModelList и JModelAdmin или дадите ссылку на почитать - буду признателен.

И нет, zomby6888 не прав. Если кратко, то я беру товары из Виртамарта, вывожу их в админке, добавляю определенные параметры и сохраняю в таблице своего компонента.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Если объясните разницу между JModelList и JModelAdmin или дадите ссылку на почитать - буду признателен.
JModelList  - для вывода списка, есть готовые методы для сортировки, удаления/изменения состояния/создания (Вообщем CRUD) из списка (правда CRUD работает в пару с JModelAdmin)!
JModelAdmin  - для изменения записи (то есть например редактирование материала)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Только первый абзац

Автор warlocksp

Ответов: 0
Просмотров: 658
Последний ответ 28.11.2017, 15:24:15
от warlocksp