Новости Joomla

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

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Здравствуйте!

Продолжаю писать компонент, в котором есть представление "delete", кнопка тулбара "Удалить" которого формируется кодом:
Код
JToolBarHelper::deleteList();
в файле \admin\views\delete\view.html.php прикреплённого архива.

Когда, будучи в админке на этом виде, я выделяю какие-то добытые из базы данных отображенные строки и затем жму эту кнопку "Удалить", все строки остаются в базе данных, о чем говорит обновление страницы(по умолчанию происходит редирект на это же представление).

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

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
не хватает всего кода и понимания как всё работает!
Обычно строится два вида, один для записи второй списка этих записей!
Модель списка наследуется от JModelList в которой вся логика для построения списка, сортировок и т.д.
А модель для записи наследуется от JModelAdmin, вот в JModelAdmin и существуют методы для удаления записи, в JModelList ничего этого нет!
по этому вам нужно в модели вам определить метод delete...
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
по этому вам нужно в модели вам определить метод delete...
Спасибо! Создам.
А как в этом методе модели получить список тех записей, что были отмечены на удаление?
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
А как в этом методе модели получить список тех записей, что были отмечены на удаление?

Вообще то имелось ввиду что вам нужно скопировать метод delete из JModelAdmin  в вашу модель..
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Доброе утро!

Пытаюсь создать SQL-запрос вида:
Цитировать
DELETE m FROM `#__virtuemart_medias` AS `m` WHERE `file_type` = 'product' AND NOT EXISTS(SELECT virtuemart_media_id FROM #__virtuemart_product_medias WHERE virtuemart_media_id = m.virtuemart_media_id )
с помощью php-кода:
Код
$conditions = array(
$db->quoteName('file_type'). ' = \'product\'',
'NOT EXISTS(SELECT virtuemart_media_id FROM #__virtuemart_product_medias WHERE virtuemart_media_id = m.virtuemart_media_id )'
);
$query->delete($db->quoteName('#__virtuemart_medias', 'm'));
$query->where($conditions);
но он создает запрос без буквы m после DELETE, и запрос не выполняется в силу синтаксической ошибки.
Скажите пожалуйста, как надо изменить код, чтобы построить запрос правильно?

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Код
$db->setQuery("DELETE m FROM `#__virtuemart_medias` AS `m` WHERE `file_type` = 'product' AND NOT EXISTS(SELECT virtuemart_media_id FROM #__virtuemart_product_medias WHERE virtuemart_media_id = m.virtuemart_media_id )");
$db->execute();
:)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Код
$db->setQuery("DELETE m FROM `#__virtuemart_medias` AS `m` WHERE `file_type` = 'product' AND NOT EXISTS(SELECT virtuemart_media_id FROM #__virtuemart_product_medias WHERE virtuemart_media_id = m.virtuemart_media_id )");
$db->execute();
:)
:) единственно верный выход?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Прописать условие для сохранения данных в БД

Автор semen1707

Ответов: 0
Просмотров: 316
Последний ответ 14.04.2021, 00:59:44
от semen1707
Почему id не назначается переменной?

Автор borro

Ответов: 3
Просмотров: 657
Последний ответ 29.06.2020, 12:59:51
от borro
Почему getTable() не находит таблицу?

Автор borro

Ответов: 3
Просмотров: 590
Последний ответ 13.05.2020, 09:14:42
от borro
Модель для представления, которое показывает списки данных разных типов

Автор borro

Ответов: 27
Просмотров: 900
Последний ответ 06.05.2020, 11:57:12
от Septdir
Почему ссылки меню одинаковые для разных представлений?

Автор borro

Ответов: 3
Просмотров: 517
Последний ответ 14.02.2020, 16:19:18
от borro