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

Dram

  • Захожу иногда
  • 211
  • 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

  • Живу я здесь
  • 2307
  • 213 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Передаваемый параметр task используется в файле контроллера, если в этом параметре есть точка, то слева от нее будет имя контроллера (если ее нет, то будет использоваться общий контроллер компонента), а справа от точки это имя функции...

Если такой функции нет, то создайте ее в общем контроллере компонента.
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Dram

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

NewUsers

  • Живу я здесь
  • 2307
  • 213 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
если в файле item.php есть функция getVoteComments
мне писать task: 'getVoteComments',       ?
Код
item.getVoteComments
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Dram

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

Dram

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

NewUsers

  • Живу я здесь
  • 2307
  • 213 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
что за компонент вы используете (скиньте его полное название)
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Dram

  • Захожу иногда
  • 211
  • 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

  • Живу я здесь
  • 2307
  • 213 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Уберите буквы с верхнем регистром
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Dram

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

NewUsers

  • Живу я здесь
  • 2307
  • 213 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Скиньте установочник компонента с ЛС
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Dram

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

NewUsers

  • Живу я здесь
  • 2307
  • 213 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
А что сам запрос отдает если используете?
Код
task: 'getVoteComments'
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Dram

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

NewUsers

  • Живу я здесь
  • 2307
  • 213 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Вытащил код из своей функции, засунул его в function vote()
заменил в своем коде JS  task: 'votes',  на task: 'vote',  и все заработало.
Вот как это объяснить?
Ни кто не знает как вы там гавнокодите!
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Dram

  • Захожу иногда
  • 211
  • 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

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

Ограниченные функции Администратора

Автор espam

Ответов: 0
Просмотров: 325
Последний ответ 05.06.2023, 22:25:24
от espam
Как закрыть отдельные публикации для определенной страны со своим сообщением?

Автор Sponsor

Ответов: 1
Просмотров: 281
Последний ответ 19.03.2023, 13:04:35
от stepan39
ajax загрузка компонента на странице материала К2

Автор Divn

Ответов: 0
Просмотров: 443
Последний ответ 13.01.2023, 15:05:52
от Divn
При срабатывании ajax появляетсся div id="system-message-container"

Автор androv77

Ответов: 1
Просмотров: 364
Последний ответ 17.11.2022, 11:50:42
от androv77
Передача id поля ajax-запросом в модальное окно bootstrap 4 Joomla 3

Автор coolplaymaster

Ответов: 17
Просмотров: 1108
Последний ответ 21.12.2021, 17:42:45
от coolplaymaster