Как я могу вызвать определенную функцию в моем контроллере

Как я могу вызвать определенную функцию в моем контроллере

26.10.2018 07:04:21 Просмотров 43 Источник

Я пытаюсь создать модуль.

На моей приборной панели у меня есть таблица со всеми моими элементами в моей базе данных,но я не знаю, как я могу установить функцию, присутствующую в моем контроллере в моем шаблоне smarty.

Пример моей функции в моем AdminController и кто расширяет ModuleAdminController

public function deleteAction($id)
{
  //here my logic
}

В smarty как я могу установить ссылку для перенаправления на мою функцию?

<a href="/* HERE WHAT CAN I SET ? */">Delete</a>
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller#comment92972699_53012508
Ни у кого нет идеи ?
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller#comment92981482_53012508
Можете ли вы разместить свой контроллер администратора и dbclass (objectModel extended) вашего модуля?
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller#comment92996756_53012508
Я не создал dbclass. Как вы думаете, я могу использовать entity manager для гидратации их ?
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller#comment93014679_53012508
Вы должны следовать стандартам тема. Если вы используете "помощник" на adminController и создаете objectModel для своей таблицы, то PrestaShop выполняет операции удаления и добавления без каких-либо дополнительных кодов.
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller#comment93090453_53012508
Спасибо за эту информацию

Ответы - Как я могу вызвать определенную функцию в моем контроллере / How can I call a specific function in my controller

Является ответом!
Alexander Grosul

29.10.2018 09:45:31

Попробуйте установить свой метод с общедоступной статической областью видимости, а затем вызвать его из tpl. Что-то вроде

public static function deleteAction($id)
{
    //do semething here
}

а потом вызвать его из ТПЛ типа

<a href="{YourClassName::deleteAction('id_here')}">Delete</a>

Но имейте в виду, что он будет работать только из связанных tpl, но не везде

https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment92996778_53040098
Спасибо, я попробую завтра и вернусь, чтобы дать ответ
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93090502_53040098
Для моего теста я установил свою функцию с помощью just echo "это тест с id + $id"; когда я навожу свою ссылку, я вижу в нижнем url-адресе свое предложение. Но когда я нажимаю, ничего не происходит. Просто перезагрузка, чтобы перейти к приборной панели
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93091435_53040098
Вам нужно передать некоторый URL-адрес вместо того текста, который вы ввели в свой метод. Но я понятия не имею, какой URL вы пытаетесь получить.
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93204220_53040098
я прочитал "href=" {AdminShowPartnersController:: testAction ('1')} ""и моя функция должна сказать : "echo" вы находитесь в контроллере с идентификатором: + $id ";"
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93213088_53040098
Если вы хотите получить какой-либо результат на вашем интерфейсе, вам нужно использовать оператор return в своем методе. Что ты теперь получишь?
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93224212_53040098
С возвращением все то же самое... Это перенаправляет меня на приборную панель, но ничего не появляется :/
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93224454_53040098
Я не могу понять, что вы получаете в результате в вашем методе. Что вы получаете в своем параметре "href"? Вы получили ответное сообщение?
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93224513_53040098
Нет, у меня нет ответного сообщения. Когда я навожу свою ссылку, я вижу содержимое моего возврата в нижнем url-адресе. Но когда я нажимаю. Ничего не происходит. Просто перенаправить на мою панель управления.
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93224723_53040098
Что значит "нижний URL"? Можете ли вы проверить свой HTML и проверить параметр "href" вашей ссылки? Могу поспорить, что у тебя там есть ответное сообщение. И это означает, что ваша функция работает правильно. Но если вы хотите получить какой-то URL вместо вашего примера кода, вам нужно определить его и вернуть в результате.
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93224766_53040098
да у меня есть мой результат в href <a style="margin-right:5px" class="btn btn-danger" href="l'id c'est +1">Delete</a>
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93300573_53040098
Итак, я думаю, что ваш вопрос был решен?
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93300598_53040098
Да, спасибо, как я могу установить эту тему в "solved"?
https://stackoverflow.com/questions/53012508/how-can-i-call-a-specific-function-in-my-controller/53040098#comment93304183_53040098
Вы можете оценить ответ, нажав на верхнюю стрелку и принять, нажав кнопку, связанную с ним где-то после вашего вопроса(не помню, где именно)
Закрыть X