+ Antworten
Ergebnis 1 bis 3 von 3

Thema: Anker setzen für Kategorien/Blog Ansich (Beitragübergreifend)

  1. #1
    Neu an Board Avatar von Joomlaner_CH
    Registriert seit
    25.02.2008
    Ort
    Schweiz
    Beiträge
    13
    Bedankte sich
    2
    Erhielt 2 Danksagung
    in 1 Beitrag

    Frage Anker setzen für Kategorien/Blog Ansich (Beitragübergreifend)

    Hi Forum ;-)
    Der Titel ist etwas verwirrend glaube ich darum "versuche" ich das mal zu erklären.
    Ich erstelle zur Zeit eine Webseite auf der mehrere hotels aufgelistet werden. Da ich nicht zu einer Komponente greifen wollte welche das löst, habe ich mich entschlossen eine Kategorie-Blog Ansicht zu machen. Da es aber immer mehr Hotels werden muss man irgendwann zu lange scrollen. Daher wollte ich eigentlich gerne ein winziges Menü am Seitenanfang erstellen mit dem man per Anker direckt zu zu dem richtigen (ORT) innerhalb der Kategorie mit dem entsprechendem Beitrag bzw. den entsprechenden Hotels kommt. Es beteht nur EINE Kategorie, darin aber alle Beiträge (ORTE UND HOTELS).
    Habe bereits einige Foreneinträge gelesen und auch ausprobiert (ohne Erfolg leider)
    - zum Beispiel diesen artikel Anker auf andere Seite
    oder auch diesen Von Menü zu Anker
    Aber beides ging nicht.
    Man sollte wenn möglich auf der selben Seite bleiben OHNE das sich sie Seite neu Laden muss. Hier ist ein User der hatte die passende Idee aber leider noch keine Antwort siehe HIER
    Hier noch meine Angaben:
    Die Seite um die es sich handelt = Hotels und Resorts
    ich benutze nach wie vor J-1.5.23
    Wäre sehr dankbar um einen Tip oder vielleicht gibt es ja sogar ein Plugin?
    Vielen Dank im Vorraus
    Gruss Stef (Joomlaner)
    Geändert von Joomlaner_CH (10.04.2011 um 13:06 Uhr)
    Einfach weiter probieren...

  2. #2
    ajh
    ajh ist offline
    Neu an Board
    Registriert seit
    22.06.2007
    Beiträge
    35
    Bedankte sich
    30
    1 Danksagung in 1 Beitrag

    Frage Lösungsansatz für Ankerproblem

    Hallo!

    Diese Fragestellung passt ganz gut zu meinem Problem. Ich möchte bei der Umsetzung eines kleines Lexikons, das ich durch Kategorie-Blog-Ansichten strukturiert habe von einem Beitrag zu einem anderen in einer anderen Kategorie verlinken. Das Anker-Setzen wäre kein Problem, geht aber nur im eigentlichen Inhalt des Beitrages, nicht im Titel - d.h. der Sprung geht an den Anfang des Beitrags, die Überschrift ist aber nicht mehr lesbar. Suboptimal.

    Ich habe nun im Netz folgenden Lösungsansatz gefunden:

    Dem Beitrag wird eine Schlüsselreferenz zugeordnet (Erweiterte Parameter) - dies wird der Ankername sein.

    In der Datei /template/deinTemplate/html/com_content/category/blog_item.php (oder vergleichbare Datei für die gewünschte Ansicht) wird vor der Zeile:

    <h2 class="contentheading<?php echo $this->escape($this->item->params->get('pageclass_sfx')); ?>">

    folgendes eingefügt:

    <?php if( strlen($this->item->params->get('keyref')) > 0 ) { echo '<a name="'.$this->item->params->get ('keyref').'"></a>'; } ?>

    Dadurch wird im Quellcode der Seite vor der Beitragesüberschrift ein Anker erzeugt, der den Namen der Schlüsselreferenz trägt. Soweit so gut.

    Leider muss im Anker ja Text vorhanden sein sonst funzt es nicht. Also habe ich ein &nbsp; eingefügt - dann klappt es wunderbar, der Einsprung erfolgt vor dem Titel des Beitrages innerhalb der Blogansicht, doch durch das non-breakable Space, das ja nun vor der eigentlichen Überschrift steht, wird eine Leerzeile erzeugt - ist also auch nicht perfekt :-(.

    Meine Idee: beide Ausdrücke so kombinieren, dass innerhalb des Ankers die Beitragsüberschrift erzeugt wird (wenn keyref >0) bzw. dass nur die Überschrift erzeugt wird (wenn keyref=0).

    Aber ich kriegs einfach nicht hin - da versagen meine noch recht grundlegenden php-Kenntnisse und die allwissende Müllhalde hat mich auch nicht weitergebracht. Daher meine Bitte um Hilfe, wäre echt lieb :-).

  3. #3
    ajh
    ajh ist offline
    Neu an Board
    Registriert seit
    22.06.2007
    Beiträge
    35
    Bedankte sich
    30
    1 Danksagung in 1 Beitrag

    Standard

    Ok, nochmal nachgedacht und die Lösung war relativ simpel.

    Die vorgeschlagene Code-Zeile ohne das </a> vor der Erzeugung der Überschrift eingefügt:

    <?php if( strlen($this->item->params->get('keyref')) > 0 ) { echo '<a name="'.$this->item->params->get ('keyref').'">'; } ?>

    Und folgendes nach der Erzeugung der Überschrift (also nach </h2>) eingefügt:

    <?php if( strlen($this->item->params->get('keyref')) > 0 ) { echo '</a>'; } ?>

    Damit wird der benötigte Anker erzeugt und damit eine Einsprungmarke VOR bzw. IN der Überschrift, die dann zu oberst auf der Seite erscheint.

    Für die Verlinkung muss man nun den Link zur Kategorie in Blogansicht (Menüpunkt) angeben und durch #name (Eintrag ohne # in der Keyref) ergänzen.

    Vielleicht geht es auch noch intelligenter, aber so funktioniert es :-).
    Geändert von ajh (06.09.2011 um 19:02 Uhr)

+ Antworten

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein