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

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
Здравствуйте.

Продолжаю изучать создание компонентов ... :) Вывел кнопку "Загрузить", запускающую задачу download, с помощью такого кода в файле view.html.php

Код
<?php
defined("_JEXEC") or die();

class VmpricelistViewDownload extends JViewLegacy{
public function display($tpl = null){
$this->addToolBar();
parent::display($tpl);
}
protected function addToolbar(){
JToolBarHelper::title(JText::_("COM_VMPRICELIST_ADMIN_DOWNLOAD_TITLE"));
JToolBarHelper::custom('download', 'download', 'download-hover', JText::_("COM_VMPRICELIST_ADMIN_DOWNLOAD_BUTTON"), FALSE);
JToolBarHelper::preferences('com_vmpricelist');
}
}
?>
По нажатию кнопки как-будто ничего не происходит.
Скажите, пожалуйста, как проверить, что нажатие кнопки хоть что-то запускает на исполнение? Где надо писать код, который должен исполняться после нажатия данной кнопки?
« Последнее редактирование: 20.09.2016, 17:46:21 от borro »
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
Есть ошибка JS:
Цитировать
core.js:1 Uncaught TypeError: Cannot read property 'task' of null
e.submitform @ core.js:1
e.submitbutton @ core.js:1
onclick @ index.php?option=com_vmpricelist:552
Вот контроллер:
Код
<?php
defined("_JEXEC") or die();

class VmpricelistController extends JControllerLegacy{
protected $default_view="download";
public function download(){
echo "Ура!";
}
}
?>
Похоже для вида download я не доработал макет default.php:
Код
<?php
defined("_JEXEC") or die();

?>
<form action="<?php echo jRoute::_("index.php&option=com_vmpricelist&view=download");?> method="POST" name="downloadForm" id="downloadForm">
<input type="hidden" name="task" value=""/>
</form>
?
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
Да, должно сработать
Доброе утро. И тем не менее не работает, ошибка в консоли по JS. Прикладываю установочный файл компонента "Прайс лист". Буду благодарен, если вы оттестируете.
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
Нет времени на тестирование. Форму назовите adminForm.
Спасибо. Да, так заработало.

Только почему-то после нажатия на кнопку открывается страница, в ссылке которой нет параметра option=имя_компонента. Где это регулируется в коде компонента?
Добавил для формы
Код
<input type="hidden" name="option" value="com_vmpricelist" />
и вроде всё заработало.

Спасибо!
« Последнее редактирование: 21.09.2016, 11:30:07 от borro »
*

Septdir

  • Практически профи
  • 2281
  • 113
  • JoomlaZen
На будущее, помимо стандартной консоли ошибок. У браузеров есть еще вкладка "сеть".
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
На будущее, помимо стандартной консоли ошибок. У браузеров есть еще вкладка "сеть".
спасибо. а для чего она может понадобиться при разработке компонента?
*

Septdir

  • Практически профи
  • 2281
  • 113
  • JoomlaZen
спасибо. а для чего она может понадобиться при разработке компонента?
Для много чего. Смотреть какие параметры отправлются к примеру. А когда с AJAX работаете так вообще вещь не заменимая. В общем посмотрите, разберитесь и поймете зачем. А еще можно сделать скин и прикунться злобным хаскером
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться