Seite 1 von 1

Forum Link ohne index.php und Meta Tags

Verfasst: 12.01.2015 13:26
von Everlong
Hallo,

wo genau müßte ich etwas ändern wenn ich keinen Link auf /index.php haben möchte sonder nur domain.tld/ also beim Klick auf "Forenübersicht" oder auf den Banner.

Gibt es die Möglichkeit die Meta Tags anzupassen mit den Daten aus dem jeweiligen Thread oder habe ich eine Extension dafür übersehen?


Danke

Re: Forum Link ohne index.php und Meta Tags

Verfasst: 12.01.2015 14:34
von gn#36
Es ist möglich eine Erweiterung dafür zu schreiben, die das Event 'core.page_header_after' nutzt um die Variable zu überschreiben. Hierfür kannst du eine Extension wie folgt definieren:
Erstelle einen Ordner gn36/hardredirect im ext Verzeichnis
dort hinein die folgenden Verzeichnisse und Dateien

Code: Alles auswählen

composer.json
config/
    services.yml
event/
   header.php
Inhalt der composer.json:

Code: Alles auswählen

{
    "name": "gn36/hardredirect",
    "type": "phpbb-extension",
    "description": "An extension which changes the direction of the default index links.",
    "version": "1.0.0",
    "time": "2015-01-12",
    "license": "GPL-2.0",
    "authors": [
        {
            "name": "Martin Beckmann",
            "role": "Developer"
        }
    ],
    "require": {
        "php": ">=5.3.3"
    },
    "extra": {
        "display-name": "Hard Link change to Forum Index",
        "soft-require" : {
            "phpbb/phpbb": ">=3.1.2,<3.2.*@dev"
        }
    }
}
Inhalt der services.yml (alle Einrückungen mit Leerzeichen!)

Code: Alles auswählen

services:
    gn36.hardredirect.listener:
        class: gn36\hardredirect\event\header
        arguments:
            - @template
            - %core.root_path%
            - %core.php_ext%
        tags:
            - { name: event.listener }
Inhalt der header.php

Code: Alles auswählen

namespace gn36\hardredirect\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class header implements EventSubscriberInterface
{
    protected $template;
    protected $phpEx;
    protected $root_path;
    __construct(\phpbb\template\template $template, $root_path, $phpEx)
    {
        $this->template = $template;
        $this->root_path = $root_path;
        $this->phpEx = $phpEx;
    }

    static public function getSubscribedEvents()
    {
        return array(
            // page header
            'core.page_header_after'    => 'change_variables',
        );
    }
    public function change_variables($event)
    {
        $this->template->assign_vars(array(
            //Das ist der Link zurück zum Foren-Index. Einfach append_sid("..."), durch append_sid("neuer_link"), ersetzen, wenn es im Forum bleibt
            //Ansonsten durch "neuer_link",
            'U_INDEX'                => append_sid("{$this->root_path}index.{$this->phpEx}"),
        ));
    }
}
Ich habe das jetzt auf die schnelle nicht getestet, kann sein, dass es so nicht komplett funktioniert. Du musst in der letzten Datei an der angegebenen Stelle deinen Link einsetzen.
Danach sollte die Erweiterung bei dir im Adminbereich auftauchen und sich installieren lassen.

Re: Forum Link ohne index.php und Meta Tags

Verfasst: 12.01.2015 15:32
von Everlong
Hallo,

danke für die Mühe, ist schon ein Ordentlicher aufwand um den Link umzuschreiben, bringt einem aber die Extensions wieder näher zu verwenden, klappt auch ganz gut. :-)

Die Meta Tags Frage ist dann eher etwas komplexer?


Viele Grüße,

Re: Forum Link ohne index.php und Meta Tags

Verfasst: 12.01.2015 17:37
von gn#36
Kommt darauf an. Willst du vorhandene Tags umschreiben, oder zusätzliche ergänzen? Wenn du vorhandenes ersetzen willst müssten wir erst mal schauen wo die Tags herkommen.

Zusätzliche ergänzen sollte recht einfach machbar sein, indem du in die Extension einen zusätzlichen Ordner styles/prosilver/template/event/ legst und dort eine Datei namens overall_header_head_append.html. In die steckst du den HTML Code für den Meta Tag, den du hinzufügen willst. Danach sollte ein mal den Cache löschen reichen, ggf. musst du ein mal die Extension deaktivieren und wieder aktivieren.

Falls du einen nicht auf prosilver basierenden Style verwendest, solltest du für den die Datei auch anlegen. Bei Meta Tags kann die natürlich identisch sein.

Re: Forum Link ohne index.php und Meta Tags

Verfasst: 13.01.2015 09:31
von Everlong
Klappt perfekt, danke!