Новости Joomla

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

borro

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

Разрабатываю компонент, в админке которого возникла задача выводить языковые константы этого компонента через js в модальное окно. Для этого надо написать свой AJAX запрос и ответчик на него(php файл в своем компоненте) или, может, в Joomla это уже все стандартизировано(как спрашивать и у кого)?
« Последнее редактирование: 05.10.2017, 09:37:19 от borro »
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
и зачем вам выводить языковые константы через JS если вы делаете как я понял модальное окно в котором данные  из PHP полученные с помощью аякс ?
я лично делаю в компоненте что то типа такого:
controller/article.php
public function form(){
echo JLayoutHelper::render('form');
exit;
}

/layouts/form.php
ваш вывод для модального окна где можете смело юзать echo JText::_('VAR_NAME')

а запрос для аякса что то типа index.php?option=com_ваш_компонент&task=article.form
« Последнее редактирование: 04.10.2017, 19:27:58 от Aleks.Denezh »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
@borro  если предавать как параметры скрипта то
Код
Factory::getDocument()->addScriptOptions('selector' 'params') 
в помощь

Документация
https://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page#Adding_the_options_to_your_JavaScript_code

Пример реализации
https://github.com/Nerudas/plg_fieldtypes_ajaximage/blob/master/fields/ajaximage.php#L181
https://github.com/Nerudas/plg_fieldtypes_ajaximage/blob/master/media/field.js#L25-L29
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
php
Код
JText::script('YOUR_LANGUAGE_CONSTANT');

javascript
Код
Joomla.JText._('YOUR_LANGUAGE_CONSTANT')

но как уже сказали если содержимое этого окна получено аяксом, то смысла в этом нет.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Здравствуйте!
и зачем вам выводить языковые константы через JS если вы делаете как я понял модальное окно в котором данные  из PHP полученные с помощью аякс ?
В модальном окне(alert(), confirm()) просто выводятся фразы вроде "Вы уверены?" и т.п. Таких данных я через PHP посредством аякс не запрашивал, хотя можно попробовать, чтобы вместе с данными пришли и константы про запас.

Joomla.JText._('YOUR_LANGUAGE_CONSTANT') пробовал, почему-то не срабатывал вот так:
Код
if(confirm(Joomla.JText._('COM_VM3DELPICS_ADMIN_DELETE_SELECTED_Q'))) delete_selected(arr);
выводилось пустое сообщение в модальном окне, хотя константа лежит в языковом файле компонента. Может для Joomla.JText._ надо указывать в каком языковом файле искать, а то он при вызове из js не может сориентироваться?

Сейчас, чтобы достать константу, я в js использую громоздкую конструкцию вида:
Код
jQuery.getJSON( 'index.php?option=com_vm3delpics&task=fsdelete.givemetheconstant&format=json'
   , { data: {"req_const":"COM_VM3DELPICS_ADMIN_DELETE_SELECTED_Q"}
    })
  .always(function(r) {
if (!r.success && r.message) alert(r.message);
if (r.messages) Joomla.renderMessages(r.messages);
if (r.data) {// и только тут что-то начинает делаться с добытой константой
if(confirm(r.data)) delete_selected(arr);
}
else delete_selected(arr);
  });
а в компоненте соответственно:
Код
    public function givemetheconstant(){
        try{
            $data = $this->input->get('data', null, 'array');
            echo new JResponseJson(JText::_($data["req_const"]));
        }
        catch(Exception $e){
            echo new JResponseJson($e->getMessage());
        }
    }
Может это можно сократить?

Попробую вариант septdir. Сработал, все стало намного короче. Спасибо всем!
« Последнее редактирование: 05.10.2017, 10:43:41 от borro »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Joomla.JText._('YOUR_LANGUAGE_CONSTANT') пробовал, почему-то не срабатывал
php часть тоже сделали?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
php часть тоже сделали?
вот оно что :) нет, я подумал, это два взаимонезависимых совета. В описании JText::script я прочитал, что вроде как устарел. Его насколько перспективно использовать?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а где вы такое прочитали?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
а где вы такое прочитали?
здесь
Цитировать
The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
или этот комментарий не влияет на то, будет ли этот метод присутствовать в ближайших версиях Joomla?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
не вижу там честно говоря ни слова о том, что JText::script устарел. вы видимо неправильно переводите то, что там написано.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
здесь
И где там сказано, что JText::script устарел?
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Получить данные AJAX в контроллере и направить их в модель для записи в бд

Автор donpekc

Ответов: 6
Просмотров: 2162
Последний ответ 24.04.2017, 12:04:52
от donpekc
[Решено] Получить в MODAL виде фильтры из вызывающего вида

Автор platonische

Ответов: 23
Просмотров: 1025
Последний ответ 29.03.2017, 13:08:35
от platonische
как грамотно получить другие данные из view?

Автор tm2010

Ответов: 2
Просмотров: 753
Последний ответ 20.02.2017, 23:37:31
от beliyadm
Как получить id записи в компоненте?

Автор vickof

Ответов: 1
Просмотров: 1507
Последний ответ 23.06.2016, 09:40:04
от b2z
Как получить id записи?

Автор vickof

Ответов: 3
Просмотров: 994
Последний ответ 12.06.2016, 19:16:29
от vickof