Merci pour ta réponse.
Oui, je pense que je vais aller voir des bouquins. Cet aprem' un amis m'apporte le livre Joomla! Programming. Sais-tu si dedans c'est indiqué comment fonctionne les URLs ?
En attendant, je fais toujours quelques essais pour comprendre.
J'ai donc créer, dans mon composant, et afin de tester, un controller et une vue, que voici :
site/controllers/foo.php
Code PHP:
<?php
defined('_JEXEC') or die;
class HelloWorldControllerFoo extends JControllerLegacy
{
function bar()
{
echo 'Bar function of Foo controller';
}
}
site/views/barview/view.html.php
Code PHP:
<?php
defined('_JEXEC') or die;
class HelloWorldViewBarView extends JViewLegacy
{
function display($tpl = null)
{
$this->msg = 'This is a \'bar\' view.';
if(count($errors = $this->get('Errors')))
{
JLog::add(implode('<br />', $errors), JLog::WARNING, 'jerror');
return false;
}
parent::display($tpl);
}
}
site/views/barview/tmpl/default.php
Code PHP:
<?php
defined('_JEXEC') or die;
?>
<h1><?php echo $this->msg; ?></h1>
Mais, lorsque je vais sur :
Code:
index.php?option=com_helloworld&task=foo.bar&view=barview&layout=default
Je pense donc qu'il faut que je mette un petit bout de code dans ma fonction bar pour afficher la bonne vue selon l'URLs.
Car si je comprend bien, cette URLs doit :
- Appeler la fonction bar du controller HelloWorldControllerFoo.
- Utiliser le template : site/views/barview/tmpl/default.php
En revanche, l'URL :
Code:
index.php?option=com_helloworld&task=foo.bar&view=barview&layout=other
C'est bien ça ?
Merci encore pour ton aide.
Dès cet aprem', je vais aller bouquiner un peu.
A bientôt !
Edit : Quelques corrections :
J'ai oublié effectivement d'appeller "parent::display()" dans ma fonction bar du controller HelloWorldControllerFoo.
Tout fonctionne, donc, et j'ai compris le fonctionnement de tout ça. Je passe en résolu !
Laisser un commentaire: