[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Interne Weiterleitung mit Anker
Seite 1 von 1

Interne Weiterleitung mit Anker

Verfasst: 16. Aug 2017, 06:23
von NorbertK
Hallo allerseits,

ich benötige zum Aufbau meiner Navigation diverse "leere" Kategorien, deren Startartikel lediglich auf Anker einer Seite verweisen sollen.

Also dachte ich mir, ich bastle mir da was aus dem Modul Interne Weiterleitungen der Modulsammlung.

Die Eingabe ist kein Problem; die Ausgabe dann doch: Während das echo noch korrekt angezeigt wird und auch die interne Verlinkung im Backend zur Bearbeitung des richtigen Blocks führt, passiert beim Aufruf des Artikel gar nichts...

Hier mein Ausgabe-Code des Moduls:

Code: Alles auswählen

<?php
if(!rex::isBackend()) {
  if ('REX_LINK[id=1]REX_VALUE[id=2]' != '') {
    ob_end_clean();
      header("HTTP/1.1 301 Moved Permanently");
      header("Location: ".rex_geturl('REX_LINK[id=1]REX_VALUE[id=2]', rex_clang::getCurrentId()));
    exit;
  }
} else {
 echo '
  <div id="interne_weiterleitung" class="bereichswrapper">
    <div class="form-horizontal output">
     <h2>Interne Weiterleitung mit Anker</h2>
     ';

  echo '<div class="form-group">
         <label class="col-sm-3 control-label">Artikel</label>
         <div class="col-sm-9"><a href="index.php?page=content&article_id=REX_LINK[id=1 output=id]REX_VALUE[id=2 output=html]">REX_LINK[id=1 output=name]REX_VALUE[id=2 output=html]</a></div>
       </div>
    </div>
  </div>

<style>
#interne_weiterleitung .bereichswrapper {
  margin: 5px 0 5px 0;
  background: #f5f5f5;
  padding: 5px 15px 5px 15px;
  border: 1px solid #9da6b2;
}

#interne_weiterleitung .control-label {
  font-weight: normal;
  font-size: 12px;
  margin-top: -6px;
}

#interne_weiterleitung  h2 {
  font-size: 12px !important;
  padding: 0 10px 10px 10px;
  margin-bottom: 15px;
  width: 100%;
  font-weight: bold;
  border-bottom: 1px solid #31404F;
}

</style>'.PHP_EOL;
}
Hat jemand ne Idee?

Danke!

Re: Interne Weiterleitung mit Anker

Verfasst: 16. Aug 2017, 10:05
von runstop64
Hi, den Anker darfst du nicht einfach an die Artkel-id pappen, sondern musst ihn an die mit rex_getUrl erzeugte Url anhängen.

Code: Alles auswählen

rex_getUrl(...).'#REX_VALUE[…]'
Entspechend solltest du auch deiner if Abfrage ordentlich auflösen und die id und die value getrennt überprüfen.

Re: Interne Weiterleitung mit Anker

Verfasst: 17. Aug 2017, 06:20
von NorbertK
Hallo Daniel,

demnach sähe die betreffende Codezeile also so aus:

Code: Alles auswählen

header("Location: ".rex_geturl('REX_LINK[id=1]', rex_clang::getCurrentId()).'REX_VALUE[id=2]');
(# gebe ich in REX_Value[id=2] mit.

Die Weiterleitung greift zwar, aber sie führt lediglich zur Seite, nicht zum Anker; der wird anscheinend nicht übergeben.

Sorry, wenn ich so duselig frage, aber ich bin in PHP nicht sooo fit...

Re: Interne Weiterleitung mit Anker

Verfasst: 17. Aug 2017, 12:21
von Ingo
Du baust eine Navigation aus Artikeln auf, in dem es nur ein Weiterleitungsmodul gibt. Das schickt den Nutzer dann per header auf einen anderen Artikel.
Welches Problem soll dieses wahnwitzige Konstrukt lösen? Ich bin mir ziemlich sicher, dass es (mindestens) eine bessere Lösung gibt.

Re: Interne Weiterleitung mit Anker

Verfasst: 18. Aug 2017, 12:10
von NorbertK
Hallo Ingo,

ob es nun aus Deiner Sicht Sinn macht oder nicht, ist denke ich hier nebensächlich. Ich möchte keine Grundsatzdiskussion darüber führen (nur so viel: Das Navigationsmenü um diesen Konstrukt zu erweitern spart so manchem User das Scrollen innerhalb eines Artikels und führt ihn zielgerichtet zu dem Thema, dass ihn interessiert. Da ich den Content aber nicht doppelt vorhalten möchte, habe ich mich für das Konzept eines Gesamtartikels mit Ankern entschieden.).
Was ich anstelle einer Konzeptdiskussion brauche, wäre ein Tipp, woran es hapert. Nicht böse gemeint.

Vielleicht wird es Dir klarer, was ich vorhabe, wenn Du Dir in meiner Entwicklungsumgebung des Projekts den Menüpunkt Support bzw. die Seite FAQ dazu ansiehst: http://www.sanlutions.net/support.html

Das Thema mit dem Anker ist ja auch nicht so irrwitzig, dass es nur mich interessiert und der fertige Code kann dann doch dem ein oder anderen helfen...

Re: Interne Weiterleitung mit Anker

Verfasst: 18. Aug 2017, 13:24
von anita
hallo Norbert,

vielleicht versuchst Du mal einen anderen Ansatz. Probier mal Weiterleitung mit JQuery, etwa nach diesem Beispiel

Code: Alles auswählen

<script type="text/javascript">
   // jQuery URL redirection
   $(document).ready( function() {
      url = "http://www.mydomain.com/new-page.html";
      $( location ).attr("href", url);
   });
</script>
musst Du dann halt sehen, wie Du die Variable entsprechend setzt.

Re: Interne Weiterleitung mit Anker

Verfasst: 18. Aug 2017, 14:04
von NorbertK
Hallo Anita,

danke für die Anregung!

Wenn ich keine Lösung für den PHP-Konstrukt finde, versuche ich das mal...

Re: Interne Weiterleitung mit Anker

Verfasst: 18. Aug 2017, 14:05
von Ingo
Wow. Als wahnwitzig habe ich nicht die Idee bezeichnet, einen Link mit Anker zu setzen. Deine technische Umsetzung ist wahnwitzig. Für die paar FAQ Beiträge könntest du die Links auch von Hand setzen. Falls du eine automatische Lösung bevorzugst, kannst du dir die Hashes (zb #MyTechnischeAnforderungen) aus dem FAQ Artikel fischen - die werden ja entweder über ein Modul oder Artikelmetas gesetzt werden. Oder bist du so unbeleckt in Sachen PHP/MySQL, dass du komplett auf fertige Module und Widgets angewiesen bist? In dem Fall hat der Wahnwitz natürlich System :wink:

Re: Interne Weiterleitung mit Anker

Verfasst: 18. Aug 2017, 14:12
von NorbertK
Hallo Ingo,

das alte Problem des Interpretationsspielraums bei schriftlicher Konversation... ;-)

Ich nutze für die Navigation das Factory-AddOn; da müsste ich dann aushebeln, dass beim FAQ-Aufruf das untergeordnete Level manuell "drangepappt" wird.
Das wiederum (wobei ich jetzt nicht wüsste, wie ich das umsetzen sollte) würde mir aber Einiges an Komfort nehmen (der FAQ-Bereich wird ja weiterhin wachsen).

Deswegen wäre mir mein irrwitziger Konstrukt doch ganz lieb, denn neben dem Navigationsmenü wäre ja dann auch die Sitemap dynamisch gestaltbar.

Re: Interne Weiterleitung mit Anker

Verfasst: 19. Aug 2017, 12:54
von Oliver.Kreischer
Hallo Norbert,

sind die FAQ einzelne Blöcke? Wenn ja würde ich das komplette anders lösen.

Bai dir ne TaleManager Tabelle mit den FAQ und eine Für die Bereiche. Abgeben kannst di dann mit einem Modul alles auf einer Seite.
Für die Dateiansicht kannst Du mit dem URL Addon sprechende URLs bereitstellen und so auch direkte verlinkungen ermöglichen.

Evtl. kann man auch das neue Glossar Addon (im Installier oder bei FOR auf GitHub) dafür nutzen...
Dann müsstest Du nur die Ausgabe selbst entwicklen.

LG
Oliver

Re: Interne Weiterleitung mit Anker

Verfasst: 22. Aug 2017, 10:31
von NorbertK
Hallo allerseits,

geändert habe ich nichts, da ich keine Zeit hatte, aber - warum auch immer - seit heute morgen funktioniert es...

Life is a strange thing!

Also: Danke für Eure Anregungen (die ich mir dennoch mal ansehen werde)!

Thema ist gelöst.