web-dev-qa-db-fra.com

Analyser le contenu de l'article pour la disposition du modèle

Je veux créer une mise en page (ou redéfinir) que je peux exécuter une boucle foreach sur le div de certaines classes. Existe-t-il une méthode dans joomla pour m'aider? J'ai vu un peu sur l'analyseur DOM php HTML mais je pensais que quelqu'un pourrait connaître un moyen simple

Je pense que je dois analyser le contenu dans un tableau en premier, puis je peux boucler la mise en page.

3
poproar

Je ne sais pas si une solution côté client fonctionnerait pour vous, mais cela ressemble à un travail pour jQuery:

http://api.jquery.com/jquery.each/

<script type="text/javascript">

$('.classname').each(index, function(){

    // preform task on each class instance

})
</script>
2
ContextSwitch

Ceci enveloppe un tas de listes dans un article pour modaux

// find what I am looking for
if (preg_match_all("'<h4>(.*?)</h4>\n?<dl id=\"(.*?)\">(.*?)</dl>' si", $this->item->introtext, $matches)) :

$lists = array();

// adjust array so I know what I am working with a better
for($i = 0; $i < count($matches[0]) ; $i++)
{
    // preg match all creates an array for each item wrapped in parens after full match
    $lists[$i] = new stdClass();
    $lists[$i]->name = $matches[1][$i];
    $lists[$i]->id = $matches[2][$i];
    $lists[$i]->data = $matches[3][$i];
} ?>

<div class="row-fluid">
<?php foreach($lists as $list) : ?>

    <a class="btn btn-large btn-block" href="#<?php echo $list->id; ?>" data-toggle="modal"><?php echo $list->name; ?></a>

<?php endforeach; ?>
<?php foreach($lists as $list) : ?>

    <div id="<?php echo $list->id; ?>" class="modal hide fade" tabindex="-1">

        <div class="modal-header"><button class="close" type="button" data-dismiss="modal">×</button>
            <h3><?php echo $this->item->category_title; ?> - <?php echo $list->name; ?></h3>
        </div>

        <div class="modal-body">
            <dl>
                <?php echo  $list->data; ?>
            </dl>
        </div>

        <div class="modal-footer"><button class="btn" data-dismiss="modal">Close</button></div>

    </div>

<?php   endforeach; ?>

<?php   endif; // end here ?>
1
poproar