Question

Je travaille sur la diffusion d'une série de messages personnalisés via des blocs statiques basés sur certaines conditions que possède un client.

Par exemple, je pourrais souhaiter afficher un message d'offre personnalisé plutôt qu'un message d'offre personnalisé.un autre message d'offre personnalisé selon qu'un client est connecté ou non et s'il a effectué un achat dans le passé.

J'ai créé tous les blocs statiques et ils s'affichent tous là où ils sont censés s'afficher si je les active manuellement.Ce que je souhaite apprendre, c'est comment/où je peux insérer la logique conditionnelle qui déterminera SI un bloc sera utilisé ou non.

Je suppose que je devrai inclure cette logique conditionnelle ou une logique conditionnelle similaire sur chaque page vers laquelle un client peut naviguer et sur laquelle je souhaite proposer des offres ou des messages.Certaines pages bénéficieront de ce traitement, d’autres non.

Je demande principalement OÙ implémenter le code d'une page non CMS pour le moment.

Merci pour toute aide ou commentaire.

Était-ce utile?

La solution

D'après votre question, il n'est pas clair où vous devez afficher ces blocs statiques.Cependant, sur la base de ma compréhension, je vais vous fournir quelques conseils.

Donc, fondamentalement, vous avez des blocs statiques avec vous et vous ne devez les afficher que lorsque certaines conditions sont satisfaites.

C'est parti.Je suppose que vous devez afficher ces blocs dans la partie droite de chaque page.Pour cela, vous devez créer un local.xml fichier de mise en page.

Déposer : app/design/frontend/<your_package>/<your_theme>/layout/local.xml

<layout>
    <default> <!-- this layout handle enable its child block appear almost every page -->
        <reference name="right"> <!-- this let static block appear in the right section -->
            <block type="core/template" name="conditional.static.blocks.container" template="staticblocks/contaier.phtml">
                <block type="cms/block" name="static.block.1" as="static_block_1">
                    <action method="setBlockId"><block_id>code-for-sb-1</block_id></action>
                </block>
                <block type="cms/block" name="static.block.2" as="static_block_2">
                    <action method="setBlockId"><block_id>code-for-sb-2</block_id></action>
                </block>
                <!-- continue this step for every block -->
            </block>
        </reference>
    </default>
</layout>

Déposer : app/design/frontend/<package>/<theme>/template/staticblocks/contaier.phtml

<?php if({condition_1_satisfies}) : ?>
    <div><?php echo $this->getChildHtml('static_block_1'); ?></div>
<?php endif;  ?>

<?php if({condition_2_satisfies}) : ?>
    <div><?php echo $this->getChildHtml('static_block_2'); ?></div>
<?php endif;  ?>

<!-- continue this logic here for every static block according to your need  -->

L’avantage de cette méthode est qu’elle vous offre une grande flexibilité.Dans chaque page à droite, vous pouvez voir ce bloc.Puisque nous utilisons des conditions différentes dans le bloc parent, seul le bloc statique souhaité apparaîtra dans l'interface.

Comme je l'ai déjà dit, ce n'est qu'une idée.Vous pouvez l'élaborer avec vos propres conditions.

J'espère que cela pourra aider

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top