it-swarm.com.de

Plugin zum Ändern der eingehenden URL

Ich erstelle eine Komponente, muss aber alle eingehenden Anforderungen an die neue Komponente umleiten. Die URL sieht derzeit so aus: index.php? Option = com_component & view = xxx und wenn dies hereinkommt, möchte ich com_component in com_newcomponent ersetzen, alle internen Ansichten sind gleich.

Ist das mit einem einfachen Plugin möglich?

1
Robert Dam
/**
 * Fucntionality which needs to be triggered on After the system has been loaded.
 *
 * @since 1.0.0
 */
public function onAfterInitialise()
{
    $app = JFactory::getApplication();

    // Frontend only, otherwise return.
    if(!$app->isClient('site'))
    {
        return false;
    }

    $router = $app->getRouter();
    $callback = array($this, 'buildRoute');

    $router->attachBuildRule($callback);
}

public function buildRoute($router, $uri)
{
    $routerClone = clone $router;
    $vars= $routerClone->parse($uri);

    if($vars['option'] == 'com_component1' && $vars['view'] == 'update')
    {
        $uri->setVar('option', 'com_component_new');

    }
}
1
Robert Dam

Sie können ein einfaches System-Plugin verwenden, mit dem das Ereignis onAfterInitilization () einige sehr grundlegende Überprüfungen durchführt, z. isAdmin, wird die Komponente com_component verwendet und wenn ja, die Umleitung dort

0