Image Slider über REX_ARTICLE[] befüllen.

Wie verwendet man Templates oder erstellt Navigationen und passt diese an.

Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Almighty12 » 12. Feb 2012, 14:56

Hi,

habe ein kleines Problem, komme nicht auf den richtigen Weg.

Habe in meinem Template über dem Content einen Slider der jeweils 5 Bilder anzeigen soll.

Für jede Kategorie gibt es dann jeweils 5 eigene Bilder die auch nur dann angezeigt werden sollen wenn man auf der jeweiligen Kategorie ist. Sind ca. 40 - 50 Bilder.

Wie löse ich das am besten ? Wollte erst ein Modul machen das ich bei den Artikeln als 1. Setze aber diese Variante klappt nicht da zwischen Slider und Content noch eine Subnavigation ist :-(

Habt ihr eine Idee wie ich das am besten Lösen kann ?

vielen Dank ;-)
Almighty12
 
Beiträge: 8
Registriert: 31. Dez 2011, 02:10

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Cheffchen » 12. Feb 2012, 16:50

Hallo,

also wie immer gibt es mindest zwei wege in redaxo (die mir jetzt einfallen)
1 Metadaten: 5 file felder einfügen oder 1 großes media feld (wie heist das noch mal :O))
oder
1 ctype anlegen wo nur ein modul drin ist (slider)

beides kannst extra ansprechen und damit auch über all auf deiner Seite anzeigen inkl. default oder vererbung der Slide-show.
Was nun besser ist, kommt echt auf detail an und dein wissen stand.

Cheffchen
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Almighty12 » 12. Feb 2012, 16:53

Hi ;-)

Danke schonmal für deine Antwort..

Das mit den Metadaten hatte ich auch überlegt.. Hatte dafür sogar schon eins eingefügt unter MetaInfos-> Medien und dann habe ich dort ein med_artikel der mit einem Media_List_Button aufgeführt wird.

Aber wie kann ich dass dan auslesen ?

Mit den cytypes.. naja ich verstehe den Sinn von ctypes irgendwie nicht habe mich schon versucht da reinzulesen aber irgendwie kapiere ich das nicht..

Almighty
Almighty12
 
Beiträge: 8
Registriert: 31. Dez 2011, 02:10

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Almighty12 » 12. Feb 2012, 17:02

Ah okay.. habe den 1. ansatz falsch verstanden..

Habe es nun richtig gemacht..

Unter Artikel nen Feld das art_slider heißt.. Mit nem Media_List_Button.

Abfrage im Template wäre dann:

<?php
if($this->getValue("art_slider") != "") { ?>
<img src="<?php echo $REX['HTDOCS_PATH'] ?>files/<?php echo $this->getValue("art_slider") ?>" />
<?php } ?>

dort gibt er es aber nun so aus:

files/test.png,test.png,test.png,test.png,test.png

also alle 5 hintereinander.. wie kriege ich das denn nun richtig hin ?

:-)
Almighty12
 
Beiträge: 8
Registriert: 31. Dez 2011, 02:10

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Cheffchen » 12. Feb 2012, 17:07

Hallo,

also metadaten.

explode oder forch schleifer mit count($this->getValue("art_slider")).

schau die einfach mal ein galerie modul an, da die alle das gleich verarbeiten.

Cheffchen
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Almighty12 » 12. Feb 2012, 17:08

Alles klar ;-) habe ich getätigt ;-)

für alle die es noch brauchen..

Code: Alles auswählen
<?
if($this->getValue("art_slider") != "") {
$pics_string = $this->getValue("art_slider");
$pics = explode(',',$pics_string);
   
    foreach($pics as $pic)
        {
?>
            <img src="<?php echo $REX['HTDOCS_PATH'] ?>files/<?php echo $pic; ?>" />
<?           
        }

   
?>




Almighty12
 
Beiträge: 8
Registriert: 31. Dez 2011, 02:10

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Cheffchen » 12. Feb 2012, 21:02

Hallo,

fein, jetzt kannst ja mal nach vererben suchen so machst dir das später einfach.
Beispiel:
6 Hauptebenne und jede davon hat 10-60 unterseiten mit unterunterseiten.
Jetzt kannst ja nicht alle 360 Seiten durchgehen, da ja in der regel die Seiten in einem zweig die gleichen Bilder haben. allso wenn die 6 Haupseiten die Bilder hinterlegst sind bei allen unterseiten je die passenden bilder Hinterlegt ausser fügst welche ein.
(kleinbuchstaben vererbt)
A
-a
-a
B
-b
C
-c
--c
--D
---d
---d
---d
-c
-c

Verstehst :O) ?
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Almighty12 » 17. Feb 2012, 15:25

Ne das habe ich nicht verstanden.. die Idee ist nicht schlecht.. aber wie vererbe ich das denn ?
Almighty12
 
Beiträge: 8
Registriert: 31. Dez 2011, 02:10

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Cheffchen » 17. Feb 2012, 19:03

Hallo,

also erstmal list das metafile aus
ist das lehr if(xxx='') kommt das auslesen der oberen kategorien.
Damit list alle übergeordente Aertikel aus, einfach mal print_r($PATH); als test ausgabe machen
Code: Alles auswählen
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

jetzt $PATH nur umdrehen und in einer foreach schleife jeden Artikel duch gehen un prüfen ob da ein metafile vorhanden ist.
kanns am ende kann man ja noch ein default machen wenn selbst der oberste (erste) artikel kein metafile hat.

ist zwar alles nur angedeutet aber die ecken müssten klar sein.

Cheffchen
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Almighty12 » 18. Feb 2012, 23:44

verstehen tu ich das :D aber die umsetung wird mir schwer fallen..

diese foreach schleifen kapiere ich nicht wirlich :-(
Almighty12
 
Beiträge: 8
Registriert: 31. Dez 2011, 02:10

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Cheffchen » 19. Feb 2012, 00:44

Hallo,

also habe mal was zusammen gestellt das einfach mal in eine unterseite reinpackst (um so tiefe um so besser :O) )
Das muss dann am ende wenn das funktioniert alles in eine if abfrage ob vorhandener Artikel ein metafile hat aber das kommt später.
kleine beschreibungen sind im code enthalten.
Der code kann natürlich gekürzt und zusammen gelegt werden :O).
Code: Alles auswählen
<?php
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// orig. alle Artikel ebenen höher
echo '<pre>';
print_r($PATH);
echo '</pre>';

// leere array löschen am anfang und ende
$nonull=array_filter($PATH);
echo '<pre>';
print_r($nonull);
echo '</pre>';

// array umdrehen für die schleife
$revers= array_reverse($nonull);
echo '<pre>';
print_r($revers);
echo '</pre>';

// schleife in der Metafile ger vorartikel geprüft wird und wenn treffer break und das als Variable  übergeben
foreach ($revers as $vorartikel) {
echo $vorartikel."<br>";
# HIER PRÜFUNG OB DER ARTIKEL $vorartikel EIN METAFILE HAT
# WENN JA IN $metafile ÜBERGEBEN DAS SCHLEIFE STOPT UND DANCH EINFACH AUSGEBEN
#if($metafile!='')break;
}
?>

Eigentlich brauchst jetzt bloss nich in der schleife die metafile testen der durchlaufenden Artikel numern.

Cheffchen
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Almighty12 » 22. Feb 2012, 23:03

Hi danke schonmal,

ich stehe aber trozdem aus dem schlauch.. jetzt gibt er mir ja 2 zahlen bei einer unterkategorie.. wie kann ich denn abfragen das this-> mit der ip übergeben wird um abzufragen ob einer der beiden zahlen/ID's eine metafile haben ?!
Almighty12
 
Beiträge: 8
Registriert: 31. Dez 2011, 02:10

Re: Image Slider über REX_ARTICLE[] befüllen.

Beitragvon Cheffchen » 23. Feb 2012, 10:59

Hallo,

so nun hast es geschaft :O)

Hier der komplette code für das auslesen vom metafile (oder auch Metadaten generell) und wenn leer dann wird jede ebene höhe geschaut ob da eins ist also vererbung.
Der code nach aufgeräumt werden aber so siehst was wo passiert und lernst vielleicht noch was dabei :O)
Code: Alles auswählen
<?php
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// orig. alle Artikel ebenen höher
#echo '<pre>';print_r($PATH);echo '</pre>';

// leere array löschen am anfang und ende
$nonull=array_filter($PATH);
#echo '<pre>';print_r($nonull);echo '</pre>';

// array umdrehen für die schleife
$revers= array_reverse($nonull);
#echo '<pre>';print_r($revers);echo '</pre>';

// schleife in der metafile der vorartikel geprüft wird und wenn treffer break und das als variable  übergeben
foreach ($revers as $vorartikel) {

   // Metafile file auslesen
   $this_article = OOArticle::getArticleById($vorartikel);
   
   // Wenn Metafile vorhanden als $metafile übergeben und stopen
   if($this_article->getValue("art_file") ){
      $metafile = $this_article->getValue("art_file");
      break;
      }
}

// hier ist jetzt das Aktuelle metafile aus diesem Artikel oder aus Ebenen höher Vererbt
echo $metafile;
?>
ps solte einer ein fehler finden bin für alles offen.

Cheffchen
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin


Zurück zu Templates/Navigationen [R4]

Wer ist online?

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