Bonjour,
je n'arrive pas a cree un bouttons avec JToolBar
Message " Impossible de charger le bouton JToolbarButtonSite (); "
j'ai suivis le tutoriel => https://docs.joomla.org/J3.x:Using_t...n_the_frontend
j'ai 2 questions
1) Pouvez vous me dire si ces la bonne démarche
2) si j'utilise les bonne class => JViewLegacy ou JView apparament JViewLegacy est la base et JView est quoi ?
merci d'avance?
-----------------------------------------------------------------------
controller.php
puis dans ma vue site/views/montant/view.html.php
je n'arrive pas a cree un bouttons avec JToolBar
Message " Impossible de charger le bouton JToolbarButtonSite (); "
j'ai suivis le tutoriel => https://docs.joomla.org/J3.x:Using_t...n_the_frontend
j'ai 2 questions
1) Pouvez vous me dire si ces la bonne démarche
2) si j'utilise les bonne class => JViewLegacy ou JView apparament JViewLegacy est la base et JView est quoi ?
merci d'avance?
-----------------------------------------------------------------------
controller.php
Code PHP:
JLoader::register('JToolbarButtonFrontend', dirname(__FILE__) . 'components/com_taxation/buttons/frontend.php');
le dossier site/boutons/frontend.php
// -----------------------------------------------------------------------------
// Pas d'accès direct a ce fichier
// -----------------------------------------------------------------------------
defined('_JEXEC') or die('Restricted access');
// -----------------------------------------------------------------------------
// Importation bibliothèque Joomla toolbar
// -----------------------------------------------------------------------------
jimport('cms.html.toolbar');
// -----------------------------------------------------------------------------
// Debut de la class JToolbarButton
// -----------------------------------------------------------------------------
class JToolbarButtonFrontend extends JToolbarButton {
public function fetchButton($type = 'site', $name = '', $text = '', $task = '', $list = true){
$i18n_text = JText::_($text);
$class = $this->fetchIconClass($name);
$doTask = $this->_getCommand($text, $task, $list);
$html = "<button onclick=\"$doTask\" class=\"btn btn-small\">\n";
$html .= "<span class=\"$class\">\n";
$html .= "</span>\n";
$html .= "$i18n_text\n";
$html .= "</button>\n";
return $html;
}
// -------------------------------------------------------------------------
// Obtenez l' Id bouton CSS
// -------------------------------------------------------------------------
public function fetchId($type = 'site', $html = '', $id = 'site'){
return $this->_parent->getName() . '-' . $id;
}
// -------------------------------------------------------------------------
// Obtenez la commande JavaScript pour le bouton
// -------------------------------------------------------------------------
protected function _getCommand($name, $task, $list){
JHtml::_('behavior.framework');
$message = JText::_('message');
$message = addslashes($message);
if ($list){
$cmd = "if (document.adminForm.boxchecked.value==0){alert('$message');}else{ Joomla.submitbutton('$task')}";
}else{
$cmd = "Joomla.submitbutton('$task')";
}
return $cmd;
}
}
Code PHP:
jimport('joomla.application.component.view');
jimport('joomla.html.toolbar');
jimport('cms.html.toolbar');
class TaxationViewVueMontant extends JViewLegacy{
// ---------------------------------------------------------------------
// Overwriting JViewLegacy display method
// ---------------------------------------------------------------------
function display($tpl = null){
// ---------------------------------------------------------
// Ajouter un tire
// ---------------------------------------------------------
jimport('cms.html.toolbar');
$this->bar = new JToolBar( 'toolbar' );
$this->bar->appendButton( 'site', 'save', 'Save', 'taxattion.save', false );
$this->bar->appendButton( 'Separator' );
// Generate the html and return
return $this->bar->render();
// ---------------------------------------------------------
// Assign data to the view
// ---------------------------------------------------------
$this->msg = $this->get('Msg');
// ---------------------------------------------------------
// gestion des erreurs
// ---------------------------------------------------------
if (count($errors = $this->get('Errors'))){
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// ---------------------------------------------------------
// Appel de la fonction pour affichage de la page par default
// ---------------------------------------------------------
parent::display($tpl);
}
Commentaire