2011-01-14 3 views
1

Hallo Ich wollte Hilfe in einer Situation, wo ich einen Ordner namens "Folien" habe und ich habe mehrere Text/HTML-Dateien wie: slide1.html slide2. html slide3.html und so weiter .....Wie bekomme ich die Variablen aus einem Array durch Analyse einer HTML-Datei

die Struktur dieser Dateien ist wie folgt:

<h2>Title of the Slide</h2> 
<p><a href="http://mydomain.com"><img src="icon.png" width="227" height="227" alt="icon" longdesc="http://longdescription" /></a></p> 
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p> 

3 Eigenschaften Titel, Bild und Beschreibung. Eins in jeder Zeile.

----------- UPDATE ---------------

Ich habe versucht, wie von @MATT vorgeschlagen, aber ich bin immer ein leeres Bildschirm: Hier ist das Skript der gesamten Seite als Referenz. Ich arbeite an einer Joomla-Vorlage.

<?php 
defined('JPATH_BASE') or die(); 
gantry_import('core.gantryfeature'); 

class GantryFeatureTabs extends GantryFeature { 
    var $_feature_name = 'tabs'; 
    function init() { 
     global $gantry; 

     if ($this->get('enabled')) { 
      $gantry->addScript('tabs.js'); 
      $gantry->addInlineScript($this->_tabs()); 
     } 
    } 
    function render($position="") { 
     ob_start(); 
     foreach(glob("/tabs/*.html") as $fileName) { 
     $fname = basename($fileName); 
     $curArr = file($fname); 
     $slides[$fname ]['title'] = $curArr[0]; 
     $slides[$fname ]['image-links'] = $curArr[1]; 
     $slides[$fname ]['description'] = $curArr[2]; 

     foreach($slides as $key => $value){ 

      ?> 
       <ul id="tabs1" class="tabs"> 
       <li> 
       <a href="<?php echo $demo_tabs_url.$curArr; ?>"><?php echo $value['title'] ?></a> 
       </li> 
       </ul> 
       <div class="clear"></div> 
       <ul id="contents1" class="tabs-content"> 
        <li> 
        <?php echo $value['image-links'] ?> 
        <?php echo $value['description'] ?> 
        </li> 
       </ul> 
      <?php 
      }} 
      ?> 
     <?php 
     return ob_get_clean(); 
    } 
    function _tabs() { 
     global $gantry; 
     $js = " 
      window.addEvent('load',function() { 
       var tabset = new TabSet($$('#tabs1 li a'),$$('#contents1 li'),{ 
        cookieName: 'demo-list' 
       }); 
      }); 
     "; 
     return $js; 
    } 
} 
+0

ist er verpflichtet, dass Sie alle diese Dateien haben, wie sie sind? Oder würden Sie vielleicht eine Datenbank bevorzugen? – Marnix

+0

Dies ist eine Joomla-Vorlage. Selbst wenn Sie eine datenbankgestützte Lösung vorschlagen, sollte es für mich in Ordnung sein. –

Antwort

0

Try ...

<?php 

error_reporting(E_ALL); 

class GantryFeatureTabs extends GantryFeature 
{ 
    $_feature_name = 'tabs'; 
    function init() { 
     global $gantry; 

     if ($this->get('enabled')) { 
      $gantry->addScript('tabs.js'); 
      $gantry->addInlineScript($this->_tabs()); 
     } 
    } 
    function render($position="") { 
     ob_start(); 
     foreach(glob("/tabs/*.html") as $fileName) { 
     $fname = basename($fileName); 
     $curArr = file($fname); 
     $slides[$fname ]['title'] = $curArr[0]; 
     $slides[$fname ]['image-links'] = $curArr[1]; 
     $slides[$fname ]['description'] = $curArr[2]; 
} 

     foreach($slides as $key => $value) 
     {   
      ?> 
       <ul id="tabs1" class="tabs"> 
       <li> 
       <a href="<?php echo $demo_tabs_url.$curArr; ?>"><?php echo $value['title'] ?></a> 
       </li> 
       </ul> 
       <div class="clear"></div> 
       <ul id="contents1" class="tabs-content"> 
        <li> 
        <?php echo $value['image-links']; ?> 
        <?php echo $value['description']; ?> 
        </li> 
       </ul> 
      <?php 
     } 
     return ob_get_clean(); 
    } 
    function _tabs() { 
     global $gantry; 
     $js = " 
      window.addEvent('load',function() { 
       var tabset = new TabSet($$('#tabs1 li a'),$$('#contents1 li'),{ 
        cookieName: 'demo-list' 
       }); 
      }); 
     "; 
     return $js; 
    } 
} 

?> 
+0

Ich habe hier angenommen, dass Ihre ersten zwei Code-Beispiele wie erwartet funktionieren, und Ihr Problem ist mit der letzten Probe, wie Sie nicht genau angegeben haben, welchen Fehler Sie erhalten. Bitte zögern Sie nicht, genauer auf Ihre Frage zu sein, wenn ich falsch liege. – Matt

+0

Entschuldigung. Ich habe es versucht, aber es hat nicht funktioniert. Ich habe die Frage bearbeitet und auch mein gesamtes Seitenskript aufgenommen, wie es mit Ihrer vorgeschlagenen Antwort ist. Bitte gehen Sie durch und schlagen Sie vor, was falsch ist. Ich erhalte einen leeren Bildschirm –

+0

@Madhavi Sie haben eine zusätzliche geschweifte Klammer hinzugefügt - entfernen Sie die} direkt unterhalb der zweiten foreach. – Matt

Verwandte Themen