8768 sujets

Développement web côté serveur, CMS

Bonjour,

Je réalise un site avec symfony et bootstrap.
De plus j'utilise fullpage.js

J'ai un gros problème avec mon menu si j’optimise mon code pour les version mobile et tablette.

voici mon code qui pour moi devrais fonctionner en théorie !

ma page index.html.twig
{% extends '::base.html.twig' %}
{% block title %}{% endblock %}
{% block body %}
    {% include "BluewireHomeBundle:Includes:navbar.html.twig" %}
    <div id="fullpage">
        {% include "BluewireHomeBundle:Includes:accueil.html.twig" %}
        {% include "BluewireHomeBundle:Includes:solution.html.twig" %}

        <div class="visible-lg hidden-md hidden-sm hidden-xs">
            {% include "BluewireHomeBundle:Includes:techno.html.twig" %}
            {% include "BluewireHomeBundle:Includes:success.html.twig" %}
        </div>
        <div class="hidden-lg visible-md hidden-sm hidden-xs">
            {% include "BluewireHomeBundle:MobileMod:techno-md.html.twig" %}
            {% include "BluewireHomeBundle:MobileMod:success-md.html.twig" %}
        </div>
        <div class="hidden-lg hidden-md visible-sm visible-xs">
            {% include "BluewireHomeBundle:MobileMod:techno-xs.html.twig" %}
            {% include "BluewireHomeBundle:MobileMod:success-xs.html.twig" %}
        </div>
        {% include "BluewireHomeBundle:Includes:contact.html.twig" %}
    </div>
{% endblock %}
{% block javascripts %}
    <script>
        $(document).ready(function(){
            $('#fullpage').fullpage({
                menu: '#top-menu',
                anchors: ['Accueil','Solutions' ,'Technologies', 'Success', 'Contact'],
                easingcss3: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',
                scrollingSpeed: 900,
                slidesNavigation: true,
                responsiveWidth: 900,
                responsiveHeight: 600
            });
        });
    </script>
{% endblock %}

en fait j'utilise 3 fichier par section et que j'affiche ou pas en fonction de l'écran. Mais je pense que le fullpage.js se perd !

Lorsque je fais un hidden-lg par exemple, est ce que l'ID est visible dans le code ? Ma théorie c'est que le js ce perd avec les id !
Pfff on est à + de 300 vue et toujours personne pour m'aider, est ce que je suis clair dans le détail de mon problème ????
Bonjour,

Je n'ai pas compris ta question...
Le fait d'utiliser symfony2 ne change pas grand chose à ton intégration.
Vérifie déjà que la console ne te renvoi pas d'erreur en inspectant ta page avec l'inspecteur d'éléments du navigateur et en ouvrant l'onglet "Console".
non symfony ne change pas grand chose à mon code !!!

Lorsque j'inspecte ma page, je n'ai aucune erreur en console !

si je fais ma page uniquement pour un écran pc, je n'ai pas de problème car j'ai dans ma page index


<section id="section0"></section>
<section id="section1"></section>
<section id="section2"></section>
<section id="section3"></section>

etc...

Donc lorsque je clique sur un lien de menu qui r'envoie #section1, ça fonctionne!

En revanche lorsque je veux l'adapter pour la version mobile je fais


<section id="section0"></section>
<section id="section1"></section>
<div class="visible-lg hidden-md hidden-xs>
            <section id="section2"> CONTENUE ECRAN </section>
</div>
<div class="hidden-lg visible-md hidden-xs>
            <section id="section2"> CONTENUE TABLETTE </section>
</div>
<div class="hidden-lg hidden-md visible-xs>
            <section id="section2"> CONTENUE MOBILE </section>
</div>

<section id="section3"></section>


les liens de mon menu qui renvoie vers les différentes sections ne foncionne plus vue que lorsque j'affiche mon code source j'ai un truc du genre

<section id="section0"></section>
<section id="section1"></section>
<div class="visible-lg hidden-md hidden-xs>
            <section id="section2"> CONTENUE ECRAN </section>
</div>
<div class="hidden-lg visible-md hidden-xs>
            <section id="section2"> CONTENUE TABLETTE </section>
</div>
<div class="hidden-lg hidden-md visible-xs>
            <section id="section2"> CONTENUE MOBILE </section>
</div>

<section id="section3"></section>


toutes mes div en hidden pour chaque version, sont quand même visible dans le code source.

je ne voie pas trop comment faire !!!
Salut,
C'est normal que toutes tes sections soit présentes dans ton code source car les classes de Bootstrap que tu appliques comme par exemple hidden-lg ne vont faire qu'appliquer un display:none sur cet élément. Donc tu as toujours tes 3 id="section2" présents (dont 2 masqués) dans ta page et c'est sûr, ça doit mettre le bazar dans ton JS.
Pour cela il faudrait que tu identifies ton bloc parent par cet id :
<section id="section0">
  <div class="section-content"></div>
</section>
<section id="section1">
  <div class="section-content"></div>
</section>
<section id="section2">
  <div class="section-content visible-lg hidden-md hidden-xs">CONTENU ECRAN</div>
  <div class="section-content hidden-lg visible-md hidden-xs">CONTENU TABLETTE</div>
  <div class="section-content hidden-lg hidden-md visible-xs">CONTENU MOBILE</div>
</section>
<section id="section3">
  <div class="section-content"></div>
</section>

Modifié par MatthieuR (04 Sep 2015 - 15:42)
oui je voie ce que tu veux dire !

Mais le problème c'est que je ne peux pas faire cela. Car dans mes sections, j'utilise à nouveau fullpage.js et que j'ai une structure identique que pour les section mais à la place c'est id="slide1" etc...
Donc là encore une foie j'ai un problème. Donc le display:none ne supprime pas le code mais y a t-il un moyen de le supprimer ?

En fait je bloque là dessus, j'essaie de retourner le problème dans tous les sens mais rien à faire.

de plus le contenue de mes section ne sont pas des données en base, j'importe plusieurs fichier .twig, 1 fichier=1 article
Donc j'ai un truc du style:
<section id="section0"></section>
<section id="section1"></section>
<div class="visible-lg hidden-md hidden-xs>
            <section id="section2"> CONTENUE ECRAN </section>
</div>
<div class="hidden-lg visible-md hidden-xs>
            <section id="section2"> CONTENUE TABLETTE </section>
</div>
<div class="hidden-lg hidden-md visible-xs>
            <section id="section2"> CONTENUE MOBILE </section>
</div>

<section id="section3"></section>

pour la structure et pour le contenue

    <div class="container">
        <h2>version mobile</h2>
        <div class="slide" id="slide1" data-anchor="slide1">
            article1
        </div>
        <div class="slide" id="slide2" data-anchor="slide2">
            article2
        </div>
        <div class="slide" id="slide3" data-anchor="slide3">
            article3
        </div>
        <div class="slide" id="slide4" data-anchor="slide4">
            article4
        </div>
    </div>

<div class="container">
        <h2>version tablette</h2>
        <div class="slide" id="slide1" data-anchor="slide1">
            article1
            article2
        </div>
        <div class="slide" id="slide2" data-anchor="slide2">
            article3
            article4
        </div>
    </div>

<div class="container">
        <h2>version ecran</h2>
        <div class="slide" id="slide1" data-anchor="slide1">
            article1
            article2
            article3
        </div>
        <div class="slide" id="slide2" data-anchor="slide2">
            article4
        </div>
    </div>