2 votes

j'essaie de déplacer une div avant une autre div sans faire des erreurs dans un php que je ne comprends pas :)

Je suis un concepteur/développeur frontal mais je dois déplacer la div avec une classe de "span-4" avant la div avec une classe de "span-20". Le développeur qui a écrit le php n'est pas disponible pour me demander comment ne pas gâcher son balisage php.

Merci d'avance pour toute aide !

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>THRIVE</title>
   <?php include("header.php"); ?>
  </head>
  <body>
      <div class="container">   
        <div id="thumbnails" class="span-20 last">
        <?php
            $accessoriesDir = "images/accessories/";
            $collectionCount = 1;
            while(is_dir($accessoriesDir . $collectionCount . "/"))
            {
                $collection_dir = $accessoriesDir . $collectionCount . "/";
                if ($season_dh = opendir($collection_dir)) 
                {   
                    $accsArray = array();
                    $accsCount = 0;
                    while (($accessoryFolder = readdir($season_dh)) !== false)
                    {
                        if(filetype($collection_dir . $accessoryFolder) == "dir" && strlen($accessoryFolder) > 2)
                            $accsArray[$accsCount++] = $accessoryFolder;
                    }
                    closedir($season_dh);
                    ?>
                    <div id="collection<?php echo $collectionCount?>" class="thumbsHolder <?php if($collectionCount !== 1) echo 'hidden'?>">

                    <div class="cats span-4">
                        <?php
                            foreach($accsArray as $index => $accessory)
                            {
                                $class = "accessory-tab";
                                if($index == 0)
                                {
                                    $class .= " selected";
                                }
                                echo "<a id='".strtolower($accessory)."-tab' class='".$class."'>".$accessory."</a><br/>";
                            }
                        ?>
                    </div>
                    <?php
                    foreach($accsArray as $index => $accessory)
                    {
                        ?>
                        <div id="<?php echo strtolower($accessory);?>-view" class="view <?php if($index != 0) echo 'hidden';?>">
                        <?php
                        $imageCount = 0;
                        $accessoryDir = $collection_dir.$accessory."/";
                        $dh = opendir($accessoryDir);
                        while (($file = readdir($dh)) !== false && $imageCount < 8) 
                        {
                            if(filetype($accessoryDir . $file) == "file" && substr($file, -4) == ".jpg")
                            {
                            ?>
                                <div class="thumbnailExpander <?php if($imageCount % 2 !== 0)echo 'expandLeft';?> <?php if($imageCount >= 4)echo 'bottom';?>" 
                                    style="left:<?php echo ($imageCount % 4) * (317-132) ?>px;top:<?php echo 110+((132+53)*intval($imageCount/4));?>px;">
                                    <!--div class="thumbAnchor"-->
                                        <img src="<?php echo $accessoryDir . $file ?>" style=""/>
                                    <!--/div-->
                                </div>
                            <?php
                                $imageCount++;
                            }
                        }
                        ?>
                        </div><!-- #accessory-view -->
                        <?php
                        closedir($dh);
                    }
                    ?>
                    </div><!-- .thumbsHolder -->
                    <?php
                }
                $collectionCount++;
            }
        ?>
        </div><!-- #thumbnails -->

        <?php include("nav.php"); ?>
        <div id="debug" style="color:white"></div>
      </div>
   </body>
</html>

4voto

Mangotastic Points 127

Refactoriser ce code pour que le span-4 soit affiché en premier ne sera pas une tâche facile. Elle sera presque impossible (et déconseillée) si vous n'avez aucune expérience de PHP.

Je vous suggère d'utiliser les CSS pour déplacer l'élément span-4 sur la page affichée. De cette façon, vous n'aurez pas besoin de toucher au PHP. Mieux encore, lorsque le développeur PHP reviendra, demandez-lui de remanier le code de manière à ce que le code d'affichage ne soit pas mêlé à la logique métier (c'est une pratique horrible qui rend impossible de répondre à des questions comme celle-ci).

J'espère que cela vous aidera.

0voto

Tom Points 10295

Essayez ces deux étapes :

(1) Coupez tout du premier <?php ligne après span-20 jusqu'à la balise de fermeture de span-4... et collez-la au-dessus de la div span-20. Cela inclut toutes les ordures + la div span-4 dans son intégralité.

(2) Dans le code que vous venez de coller, trouvez cette ligne :

<div id="collection<?php echo $collectionCount?>" class="thumbsHolder <?php if($collectionCount !== 1) echo 'hidden'?>">

... et le couper-coller dans l'espace d'où il vient.

Ça devrait marcher pour toi, à moins que je doive faire vérifier mes yeux.

EDIT : Il y a une chance que cela ne fonctionne pas, selon que le span-4 doit vraiment être un enfant de #collection. Si c'est le cas, vous devrez rentrer dans le CSS et séparer les deux, ou d'une manière ou d'une autre reporter l'id parent avec le span-4.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X