Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Fragen zum Erstellen von Templates für webEdition.
stas
Junior Member
Beiträge: 29
Registriert: Mo 18. Mai 2009, 12:51

Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon stas » Mi 5. Dez 2018, 13:14

Hallo zusammen,

nach vielen Stunden des Rumprobierens (und vielen Jahren des Stillstands :roll:) habe ich es endlich geschafft wE von 6.1.x.x auf 8.0.4 upzudaten. Bis auf eine Ausnahme scheint zum Glück alles wieder zu funktionieren, nur die Bildgalerie bereitet mir Sorgen und ich komme leider nicht weiter.

Das Problem, was ich aktuell habe ist folgendes. Es gibt mehrere Objekte mit einem pro Objekt definierten Ordner (mit Bilder) und nur diese sollen ausgegeben werden. Stattdessen werden aber auf jeder Seite alle Bilder ausgegeben, sogar aus den übergeordneten Verzeichnissen. Ich kann mir das leider mit meinen sehr rudimentären Programmmierkenntnissen nicht erklären, außer, dass es vielleicht am fehlerhaften Update liegt oder an der aktualisierten Syntax.

Meine Vorlage dafür sieht wie folgt aus:

Code: Alles auswählen

    <h1><we:input type="text" name="Headline" size="60"/></h1>
    <we:object name="galerie" id="4">
      <!-- Wert des href-Feldes in eine globale PHP-Variable schreiben -->
      <we:setVar to="global" nameto="Gallery" from="listview" namefrom="Gallery" />
      <?php
        /* Da der Wert des href-Feldes ein serialisiertes Array ist, muss dieser String zunächst erst wieder in ein Array umgewandelt werden */
        $GLOBALS['Gallery'] = unserialize($GLOBALS['Gallery']);
        /* Ausgabe der ID des im Objekt ausgewählten Verzeichnisses, nur zu Kontrollzwecken */
        echo $GLOBALS['Gallery']['intID'];
        $i_id = (int) $GLOBALS['Gallery']['intID'];
      ?>

      <div id="galerie">
      <we:listview name="gallery" contenttypes="img" order="we_filename" searchable="false" workspaceID="\$i_id">
      <we:repeat>
        <div id="tn">
          <a href="<we:field name="bild" type="img" only="src"/>" class="group" rel="group"><we:field type="img" name="tn" thumbnail="130x130" /></a>
        </div>
      </we:repeat>
      </we:listview>
      </div>

    </we:object>
Sofern weitere Infos benötigt werden, kann ich diese gerne ergänzen. Die Installation ist aktuell nur bei mir in der lokalen Umgebung.

Ich würde mich über einen Lösungsvorschlag oder zumindest einen Tipp sehr freuen :) .

Danke und Gruß,
Stas

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1470
Registriert: Di 7. Mär 2006, 16:50
Kontaktdaten:

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon WBTMagnum » Mi 5. Dez 2018, 15:06

Hallo Stas,

Ich vermute es liegt daran, dass du die lokale Variable `$i_id` definierst, in der Listview beim Workspace dann aber die globale Variable `$GLOBALS['i_id']` angibst (Anm.: `\$i_id` ist die Kurzschreibweise für `$GLOBALS[i_id]`). Damit hat er keinen Workspace definiert und geht alles durch.

Ich würde den Code wie folgt umschreiben (ungetestet):

Code: Alles auswählen

<h1><we:input type="text" name="Headline" size="60"/></h1>
<we:object name="galerie" id="4">
  <we:field type="href" name="Gallery" only="id" to="global" nameto="i_id"/>
  <we:listview name="gallery" contenttypes="img" order="we_filename" searchable="false" workspaceID="\$i_id">
    <we:ifFound>
      <div id="galerie">
        <we:repeat>
          <div id="tn">
            <a href="<we:field name="bild" type="img" only="src"/>" class="group" rel="group"><we:field type="img" name="tn" thumbnail="130x130" /></a>
          </div>
        </we:repeat>
      </div>
    </we:ifFound>
  </we:listview>
</we:object>
HTH,
Sascha

stas
Junior Member
Beiträge: 29
Registriert: Mo 18. Mai 2009, 12:51

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon stas » Mi 5. Dez 2018, 16:44

Hallo Sascha,

vielen Dank für deine Hilfe, leider bekomme ich mit deinem Code gar keine Ausgabe. Also die Seite wird schon noch angezeigt aber halt ohne Bilder. :(

Code: Alles auswählen

<h1><we:input type="text" name="Headline" size="60"/></h1>
<we:object name="galerie" id="4">
  <we:field type="href" name="Gallery" only="id" to="global" nameto="i_id"/>

  <div id="galerie">
    <we:listview name="gallery" contenttypes="img" order="we_filename" searchable="false" workspaceID="/$i_id">
      <we:ifFound>
        <we:repeat>
          <div id="tn">
            <a href="<we:field name="bild" type="img" only="src"/>" class="group" rel="group"><we:field type="img" name="tn" thumbnail="130x130" /></a>
          </div>
        </we:repeat>
      </we:ifFound>
    </we:listview>
  </div>	
  <div style="clear:both;"></div>
</we:object>
Lasse ich jedoch bei workspaceID das "/" weg, habe ich auch hier die gleiche Ausgabe mit allen Bilder (wie vorher).

mokraemer
Senior Member
Beiträge: 2656
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon mokraemer » Mi 5. Dez 2018, 18:08

nicht / sondern \
es muß \$i_id heißen!
webEdition-Kern-Entwickler

stas
Junior Member
Beiträge: 29
Registriert: Mo 18. Mai 2009, 12:51

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon stas » Mi 5. Dez 2018, 18:21

Sorry, mein Fehler, genau so hatte ich das auch getestet, wie vom Sascha vorgeschlagen, nur funktioniert es leider nicht. :(

stas
Junior Member
Beiträge: 29
Registriert: Mo 18. Mai 2009, 12:51

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon stas » Mi 5. Dez 2018, 20:24

Ich habe hier einen ähnlichen Fall gefunden. Die Lösung für meine Galerie kann ich leider daraus nicht ableiten.

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1470
Registriert: Di 7. Mär 2006, 16:50
Kontaktdaten:

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon WBTMagnum » Mi 5. Dez 2018, 21:52

Hallo stas,

Schau doch bitte mal, ob 'i_id' richtig gesetzt ist, z.B. mit

Code: Alles auswählen

<pre>i_id: <we:var type="global" name="i_id"/></pre>
Die Lösung mit <field type="href"> hat immer mal wieder Probleme gemacht.

HTH,
Sascha

stas
Junior Member
Beiträge: 29
Registriert: Mo 18. Mai 2009, 12:51

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon stas » Do 6. Dez 2018, 04:21

Hallo Sascha,

in der Variable ist der Pfad zur Galerie gespeichert "/images/galleries/01". Sofern ich das richtig verstanden habe, benötige ich aber die Verzeichnis-ID von 01. Das wäre in diesem Fall die 122, denn wenn ich sie unter workspaceID, bekomme ich auch (nur) die gewünschte Galerie zu sehen. Wie mach ich nur jetzt das Ganze dynamisch? Da fehlt doch bestimmt nur eine Zeile Code, oder? :?

Liebe Grüße,
Stas

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1470
Registriert: Di 7. Mär 2006, 16:50
Kontaktdaten:

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon WBTMagnum » Do 6. Dez 2018, 10:52

Hallo Stas,

Dann vermute ich, dass das Attribut "only" hier nur Wunschdenken von mir war. Lt. Tag-Referenz gibt es das auch nicht.

Ich sehe zwei Möglichkeiten die du versuchen kannst:
  • Den Pfad mittels PHP in die ID umwandeln (Achtung, nicht sehr performant):

    Code: Alles auswählen

    <?php $GLOBALS['i_id'] = path_to_id($GLOBALS['i_id']);?>
  • Schauen ob dir folgende Abfrage (ohne type="href") die ID zurück gibt:

    Code: Alles auswählen

    <we:field name="Gallery"/>
    oder

    Code: Alles auswählen

    <we:field type="text" name="Gallery"/>
HTH,
Sascha

ramon
webEdition Partner
webEdition Partner
Beiträge: 93
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Weimar
Kontaktdaten:

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon ramon » Do 6. Dez 2018, 10:53

Bei dir sollte das hier funktionieren...

Code: Alles auswählen

	<we:setVar to="global" nameto="gallerypath" from="listview" namefrom="bilderordner" typefrom="href" />
		<?php
			$gallerypathid = path_to_id($GLOBALS['gallerypath']);
		?>
		<we:listview workspaceID="\$gallerypathid" name="ImageGallery" contenttypes="img" searchable="false" rows="80" order="we_filename">

.... mit deinen Feldbezeichnungen
bindestrich - media.
http://www.bindestrich.com
Agentur für Grafikdesign & Webdesign

stas
Junior Member
Beiträge: 29
Registriert: Mo 18. Mai 2009, 12:51

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon stas » Do 6. Dez 2018, 11:30

Also es klappt jetzt 8) mit einer kleinen Abweichung:

Basierend auf ramons Vorschlag musste noch das "\" vor der Variable weg und schon fluppt es :)

Code: Alles auswählen

<we:setVar to="global" nameto="gallerypath" from="listview" namefrom="Gallery" typefrom="href" />
<?php $gallerypathid = path_to_id($GLOBALS['gallerypath']); ?>
  <div id="galerie">
    <we:listview name="gallery" contenttypes="img" order="we_filename" searchable="false" workspaceID="$gallerypathid">
Ich danke euch! :D

mokraemer
Senior Member
Beiträge: 2656
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon mokraemer » Do 6. Dez 2018, 16:25

ja, kann ich bestätigen, bei ramons Lösung muß der Backslash weg. Ist ja eine lokale Variable, deshalb ohne \
webEdition-Kern-Entwickler

stas
Junior Member
Beiträge: 29
Registriert: Mo 18. Mai 2009, 12:51

Re: Bildergalerie nach wE update von 6.x auf 8.x fehlerhaft

Beitragvon stas » Do 6. Dez 2018, 16:45

Verstehe ja sogar ich selbst :lol:.

Bild


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste