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

Dram

  • Захожу иногда
  • 204
  • 0 / 0
Добрый день, нужно получить ответ от функции getVoteComments в файле item.php компонента com_comments - что нужно прописать в task:?
Пробую по разному что-то пусто пока

Код
		jQuery(document).on("click", ".checked_comm_div input", function() {
var vote = $("input[name='radio']:checked").val();
//console.log(vote);
jQuery('#msg').hide();
jQuery.ajax({
type: 'POST',
url: '/index.php',
dataType: 'json',
timeout: 5000,
data: {
option: 'com_comments',
view: 'item',
format: 'json',
task: 'votecomments',
vote: vote
},
success: function (data) {
            console.log(data)
}
});
});
*

NewUsers

  • Завсегдатай
  • 1987
  • 179 / 0
Передаваемый параметр task используется в файле контроллера, если в этом параметре есть точка, то слева от нее будет имя контроллера (если ее нет, то будет использоваться общий контроллер компонента), а справа от точки это имя функции...

Если такой функции нет, то создайте ее в общем контроллере компонента.
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

Dram

  • Захожу иногда
  • 204
  • 0 / 0
если в файле item.php есть функция getVoteComments
мне писать task: 'getVoteComments',       ?
*

NewUsers

  • Завсегдатай
  • 1987
  • 179 / 0
если в файле item.php есть функция getVoteComments
мне писать task: 'getVoteComments',       ?
Код
item.getVoteComments
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

Dram

  • Захожу иногда
  • 204
  • 0 / 0
так - task: 'item.getVoteComments',   // без эффекта
так - task: item.getVoteComments,    //ошибка
*

Dram

  • Захожу иногда
  • 204
  • 0 / 0
В функции прописал
    function getVoteComments()
    {
        $votes = JRequest::getVar('votes');
        file_put_contents('/var/www/com/components/com_comments/models/test.txt', $votes);
чтобы понять когда запрос дойдет - файл не создается  (проверил на других функциях выше, файл создается)
*

NewUsers

  • Завсегдатай
  • 1987
  • 179 / 0
что за компонент вы используете (скиньте его полное название)
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

Dram

  • Захожу иногда
  • 204
  • 0 / 0
самописный, название com_comments
В файле JS где я пытаюсь добавить свой код уже есть обращение к данному компоненту (все работает), вот этот код

Код
	    jQuery(".scomments-vote a").click(function(e) {
        e.preventDefault();
        var el = jQuery(this).parent();
        var id = jQuery(this).attr("data-id");
        var value = jQuery(this).attr("data-value");
       
jQuery.ajax({
type: 'POST',
url: '/index.php',
dataType: 'json',
timeout: 5000,
data: {
option: 'com_comments',
view: 'item',
format: 'json',
                task: 'vote',
                value: value,
                id: id
},
success: function (rows) {
                el.html('Спасибо ваш голос принят');
}
});
    });
А в файле итем есть функция
Код
    function vote()
    {
        $item_id = JRequest::getVar('id');
        $value = JRequest::getVar('value');
        $ip = CommentsHelperQuery::ip()..............  блаблабла

и все работает
А моя функция в этом же файле в самом низу не работает зараза!
делаю ведь точно по аналогии
Код
		jQuery(".checked_comm_div input").click(function(e) {
var votes = $("input[name='radio']:checked").val();
console.log(votes);

jQuery.ajax({
type: 'POST',
url: '/index.php',
dataType: 'json',
timeout: 5000,
data: {
option: 'com_comments',
view: 'item',
format: 'json',
task: 'getVoteComments',
votes: votes
},
success: function (rows) {
console.log(rows)
}
});
});
*

NewUsers

  • Завсегдатай
  • 1987
  • 179 / 0
Уберите буквы с верхнем регистром
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

Dram

  • Захожу иногда
  • 204
  • 0 / 0
Пробовал уже, переназвал функцию votes  ну и в JS заменил на 'votes' - толку нет. Магия какая то, соседний код и функция работает, а мои нет. В консоле визу что POST запросу уходит, но до функции почему то не доходит
Код
success: function (data) {
console.log(data)
}
мне возвращает пустой массив
« Последнее редактирование: 26.11.2020, 15:39:48 от Dram »
*

NewUsers

  • Завсегдатай
  • 1987
  • 179 / 0
Скиньте установочник компонента с ЛС
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

Dram

  • Захожу иногда
  • 204
  • 0 / 0
К сожалению его нет, он написан лет 5 назад
*

NewUsers

  • Завсегдатай
  • 1987
  • 179 / 0
А что сам запрос отдает если используете?
Код
task: 'getVoteComments'
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

Dram

  • Захожу иногда
  • 204
  • 0 / 0
Вытащил код из своей функции, засунул его в function vote()
заменил в своем коде JS  task: 'votes',  на task: 'vote',  и все заработало.
Вот как это объяснить?
*

NewUsers

  • Завсегдатай
  • 1987
  • 179 / 0
Вытащил код из своей функции, засунул его в function vote()
заменил в своем коде JS  task: 'votes',  на task: 'vote',  и все заработало.
Вот как это объяснить?
Ни кто не знает как вы там гавнокодите!
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

Dram

  • Захожу иногда
  • 204
  • 0 / 0
Этот код не работает
Код
    function votes()
    {
        $votes = JRequest::getVar('votes');
        file_put_contents('/var/www/com/components/com_comments/models/test.txt', $votes);
       
    }
Но если эти две строчки забрать из этой функции и засунуть в функцию выше (vote) и заменить task: 'vote' то файл создастся. МОжет этому быть какое то объяснение?
*

Dram

  • Захожу иногда
  • 204
  • 0 / 0
Разобрался, выше была функция function getResponse() в которой и нужно было прописать вызов моей новой функции
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент на ajax

Автор antarey

Ответов: 0
Просмотров: 139
Последний ответ 08.12.2020, 10:39:58
от antarey
Как сделать AJAX-подгрузку подкатегорий в модуле mod_virtuemart_category?

Автор Damarkuzz

Ответов: 1
Просмотров: 173
Последний ответ 04.10.2020, 04:09:17
от v42bis
ajax пагинация блога

Автор antarey

Ответов: 0
Просмотров: 124
Последний ответ 18.08.2020, 14:30:35
от antarey
Размещение 3d-модели на сайте

Автор Михаил ЕН

Ответов: 5
Просмотров: 251
Последний ответ 31.07.2020, 09:41:59
от AlexB
Как добавить javascript - ajax в настройки своего плагина?

Автор johnsnow91

Ответов: 7
Просмотров: 397
Последний ответ 22.05.2020, 20:58:20
от sivers