8768 sujets

Développement web côté serveur, CMS

Bonjour

Je vais essayer d'être le plus précis possible dans ma demande.

Je dois modifier une page d'un album avec une condition et si cette condition est remplie (nom de la page) alors, je voudrais qu'il y ait un bout de css pour faire disparaitre une id.

En résumé, j'arrive sur cette page, mais une carte doit être en
display:none;


J'espère avoir été assez clair.... Smiley rolleyes

A+
Bonjour,

Rien à voir, mais petite erreur vue sur votre site :


Notice: Undefined offset: 1 in /home/clients/6a.../main.inc.php on line 55
Pour votre question, on ne sait pas si la condition peut etre vue au niveau serveur, ou seulement au niveau client.
Bonjour,

J'ai fait un petit essai. 2 fichiers : index.php et page2.php

Sur index, il y a 3 liens qui menent sur la meme page2.php

Sur page 2, il y a 3 div. et on veut que si on clique sur le lien 2 de la page index, la div 2 de la page 2 ne s'affiche pas.

Ca peut donner ceci :


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>fichier index</title>
</head>
<body>

    <div>
        <h3>Liens</h3>
        <p><a href="page2.php">lien #1</a></p>
        <p><a href="page2.php?link=2">lien #2</a></p>
        <p><a href="page2.php">lien #3</a></p>
    </div>

</body>
</html>



<?php

    $style = isset($_GET['link']) ? 'hidden' : 'visible'; 

?>


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>fichier page2.php</title>
    <style>
        body{background-color: bisque;}
        .hidden{display: none;}
    </style>
</head>
<body>
    <div class="visible">div 1</div>

    <div class="<?= $style ?>">div 2</div>

    <div class="visible">div 3</div>

    <div> <a href="index.php">Retour</a></div>
</body>
</html>



si on clique sur le lien 2, la div 2 ne s'affiche pas (la classe devient 'hidden' au lieu de 'visible').


Une autre solution aurait pû etre en JS avec href pour recuperer l'URL et faire un traitement en JS à partir de l'URL mais il aurait fallu faire plusieurs manip. Je prefere la version php.
Modifié par alain_47 (19 Apr 2022 - 06:26)
Bonjour à tous

Je me suis mal expliqué, j'utilise Piwigo et je ne tiens pas à modifier les scripts existant qui disparaitraient à la prochaine mise à jour.

Par contre, j'utilise des plugins dont un me permet "d'injecter" du code sous forme soit de
- css-
- un config locale
- ajouter des traductions
- du php sous forme d'un plugin perso.

Je dois aussi préciser, c''est important que je ne connais rien en php, c'est pourquoi j'ai besoin de votre aide qui se résume à :
- mettre une condition afin de mettre du css dans une commande (si lien il y a donc css il y aura)

A+
Bonjour

Bon après de multiples recherches, j'ai eu la solution ... Car j'ai fait une bêtise dans mon ID ...


<?php
add_event_handler('loc_end_page_header', 'MyRecentPics');
function MyRecentPics(){
  global $template, $page;

  if (isset($page['section']) and $page['section'] == 'recent_pics'){
    $template->append('head_elements',
      '<style type="text/css">
        #osmmap {display:none;}
       </style>'
    );
  }
}
?>

Modifié par Le_promeneur (20 Apr 2022 - 09:06)
Meilleure solution