Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
Всем привет.
Написал модуль, выводящий нормальное дерево категорий VirtueMart.
Так как названия категорий берутся прямиком из таблицы vm_category, переводов он не отображает.
Вопрос такой: как "по правилам", без костылей заставить работать переводы? Может быть, надо элемент XML создать?
Про вариант "Определить язык- Запросить перевод" прямо из модуля я уже думал, но это как-то тупо.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
А у вас в SQL-запросе, выбирающем данные, поле ID (ну или как оно там называется  в vm_category) вытягивается? В общем в запросе должен присутствовать первичный ключ таблицы, тогда перевод подтянется.

Compatible Query Construction
*

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
Запрос таким вот образом происходит
Код
$db = new ps_DB;
$query="SELECT a.`category_parent_id`, b.`category_id` AS 'id', b.`category_name` AS 'name'
FROM `#__{vm}_category_xref` a
LEFT JOIN `#__{vm}_category` b ON b.`category_id`=a.`category_child_id`
WHERE b.`category_publish`='Y'
ORDER BY `category_parent_id` ASC,b.`list_order` ASC, b.`category_name` ASC";
$db->setQuery($query);
$db->query();

b.`category_id` - первичный ключ таблицы
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Попробуй их местами поменять (сначала поля из таблицы b, потом из a), и там где таблицам алиасы назначаешь вставь AS (в принципе не обязательно, хз как JoomFish это обрабатывает). И еще судя по запросу - выбираешь N-записей, а почему query()? Это же просто выполнение запроса, данные-то не вернет.
*

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
Попробуй их местами поменять (сначала поля из таблицы b, потом из a), и там где таблицам алиасы назначаешь вставь AS (в принципе не обязательно, хз как JoomFish это обрабатывает). И еще судя по запросу - выбираешь N-записей, а почему query()? Это же просто выполнение запроса, данные-то не вернет.
Потому что далее идёт
Код
while($db->next_record()){
$category_parent_id = $db->f("category_parent_id");
$id = $db->f("category_id");
if(!isset($xref[$category_parent_id])){
$xref[$category_parent_id] = array();
}
$xref[$category_parent_id][] = $id;
$cats[$id] = $db->f("name");
}
Т. е. данные извлекаются VM-овским итератором (иначе проблема с кавычками).

Запрос уже всячески перестраивал, ничего не помогает...
Код
SELECT a.`category_child_id`, b.`category_id`, a.`category_parent_id`, b.`category_name` AS 'name' 
FROM `#__{vm}_category` AS b
LEFT JOIN `#__{vm}_category_xref` AS a ON b.`category_id`=a.`category_child_id`
WHERE b.`category_publish`='Y'
ORDER BY `category_parent_id` ASC,b.`list_order` ASC, b.`category_name` ASC


UPD: провёл интересный эксперимент. Оказывается, мешают псевдонимы, причем как для таблиц, так и для полей.
Вот 100% рабочий запрос:

SELECT
`category_id`,
`category_name`,
`category_parent_id`
FROM `#__{vm}_category`
LEFT JOIN `#__{vm}_category_xref` ON `category_id`=`category_child_id`
WHERE `category_publish`='Y'
ORDER BY `category_parent_id` ASC, `list_order` ASC, `category_name` ASC

Своеобразно обрабатывает, придётся это учитывать при разработке своих расширений.
« Последнее редактирование: 19.10.2011, 12:37:20 от SindBAD »
*

SindBAD

  • Осваиваюсь на форуме
  • 40
  • 3 / 1
А тут никак нельзя "сказать спасибо"? Всё-таки, наводка на структуру запроса помогла)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JoomFish ошибка в синтаксисе базы данных после обновления!

Автор Dim

Ответов: 6
Просмотров: 4873
Последний ответ 01.12.2018, 16:04:39
от Dim
как быть без JoomFish в Joomla 3?

Автор pikos

Ответов: 2
Просмотров: 5710
Последний ответ 22.09.2016, 06:47:37
от pikos
как быть без JoomFish в Joomla 3?

Автор pikos

Ответов: 1
Просмотров: 4612
Последний ответ 21.09.2016, 11:37:11
от dmitry_stas
Существует ли компонент JoomFish для Joomla 3.х

Автор pikos

Ответов: 3
Просмотров: 4961
Последний ответ 21.09.2016, 10:34:53
от dmitry_stas
Не активен заголовок при переводе в JoomFish

Автор Mu2D

Ответов: 0
Просмотров: 4436
Последний ответ 01.07.2016, 18:23:08
от Mu2D