web-dev-qa-db-fra.com

Lien Web avec JCE add & task = weblink.go

Si j'ajoute un lien Web via JCE, le lien sera ajouté avec &task=weblink.go

Pour quoi s'agit-il, et dans quel dossier cela sera-t-il évalué?

1
Lovntola

Une "tâche" est une méthode de classe (fonction) dans le contrôleur d'un composant.

Dans votre cas, weblink est le contrôleur et go est une méthode dans le contrôleur.

Voici un tutoriel simple et clair: Comment ajouter une nouvelle tâche à votre composant Joomla d'InmotionHosting.

Je vais mettre les extraits d'écran capturés dans le texte ici, mais visitez certainement le lien pour le tutoriel.

@ /components/com_helloworld/helloworld.php

<?php
// No direct access to this file
define('_JEXEC') or die('Restricted access');

// import joomla controller library
jimport('joomla.application.component.controller');

// Get an instance of the controller prefixed by HelloWorld
$controller = JControllerLegacy::getInstance('HelloWorld');

// Perform the Request task
$input = JFactory::getApplication()->input;
$controller->execute($input->getCmd('task'));

// Display the name of the task being executed
echo "<p>Just finished executing: " , $input->getCmd('task') , "</p>";

// Redirect if set by the controller
$controller->redirect();

@ /components/com_helloworld/controller.php

<?php
// No direct access to this file
define('_JEXEC') or die('Restricted access');

// import Joomla controller library
jimport('joomla.application.component.controller');

/**
 * Hello World Component Controller
 */
class HelloWorldController extends JControllerLegacy
{
    function shout()
    {
        echo "<p>THIS IS ME SHOUTING!</p>";
    }
}

L'effet sur example.com/index.php/option=com_helloworld&task=shout serait:

CECI IS MOI CRIANT!
Je viens de terminer l'exécution: criez

avec le code source généré ressemblant à:

<p>THIS IS ME SHOUTING!</p>
<p>Just finished executing: shout</p>

Pour une lecture supplémentaire:

2
mickmackusa