Vanilla 1.1.2 Forum von Lussumo. Weitere Informationen: Dokumentation, Community.

    • CommentAuthorMarkus1
    • CommentTime16.07.2012 bearbeitet
     permalink
    Hallo zusammen,
    ich habe derzeit unter Evo ein Plugin laufen, mit dem ich anhand der Dokument-ID auf die furl weiterleite. Ich nutze das plugin um unique Tinyurls nutzen zu können. Unter Evo läuft das DIng; habe aber Probleme das Ganze unter Revolution laufen zu lassen. Das Häkchen unter OnPageNotFound bei System-Event ist aktiv.

    Plugin in Evo:
    <?php
    $e = $modx->Event;

    switch($e->name) {
    case 'OnPageNotFound':
    if(preg_match('@^\/([0-9]+)$@',$_SERVER['REQUEST_URI'])) {
    $uri=preg_replace('@[^0-9]@','',$_SERVER['REQUEST_URI']);
    $cont=$modx->getDocument($uri);
    if($uri && count($cont)>5) {
    $Url= $modx->makeUrl($uri);
    header("HTTP/1.1 301 Moved Permanently");
    header($modx->sendRedirect($Url));
    }
    }
    break;
    default:
    break;
    }


    Plugin in Revo:
    if ($modx->event->name == 'OnPageNotFound') {
    if(preg_match('@^\/([0-9]+)$@',$_SERVER['REQUEST_URI'])) {
    $uri=preg_replace('@[^0-9]@','',$_SERVER['REQUEST_URI']);
    $cont=$modx->resource->get($uri);
    if($uri && count($cont)>5) {
    $Url= $this->makeUrl($uri);
    header("HTTP/1.1 301 Moved Permanently");
    header($modx->sendRedirect($Url));
    }
    }
    }


    Derzeit mündet das allerdings in einem Fehler

    Fatal error: Call to a member function get() on a non-object in /home/www/revo/core/cache/includes/elements/modplugin/17.include.cache.php on line 10

    Meine Programmierfähigkeiten sind etwas begrenzt und außerdem kenne ich Revo noch nicht wirklich.

    Sieht jemand auf die Schnelle den Fehler?

    Danke!
    Markus
    • CommentAuthorMarkus1
    • CommentTime18.07.2012
     permalink
    Niemand?
    • CommentAuthorMarkus1
    • CommentTime12.09.2012
     permalink
    Ok hab es einwenig umgebaut. Die Version reicht mir vorerst.
    global $modx;
    if ($modx->event->name == 'OnPageNotFound') {
    if(preg_match('@^\/([0-9]+)$@',$_SERVER['REQUEST_URI'])) {
    $uri=preg_replace('@[^0-9]@','',$_SERVER['REQUEST_URI']);
    $url = $modx->makeUrl($uri);
    $modx->sendRedirect($url, array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
    exit;
    }
    }