web-dev-qa-db-fra.com

Comment faire un module simple dans OpenCart? Exemple d'obtenir les derniers messages de Wordpress et de l'afficher dans OpenCart?

Je suis nouveau sur ce forum et sur OpenCart.

J'ai besoin d'aide pour créer un module dans OpenCart. Dans mon cas, il obtiendra les 5 derniers messages de chaque catégorie de mon WordPress et l'affichera dans ma page d'accueil de ma boutique OpenCart.

J'ai déjà installé OpenCart et WordPress dans la même base de données sur le même hôte.

Quelqu'un peut-il me conseiller à ce sujet?

23
Developer

Cela peut être très facile selon vos compétences. Je m'attends à un downvote sur votre question mais je vais parcourir brièvement les étapes car ce n'est pas la façon SO fonctionne. La première chose est de modifier nos fichiers THEMES. Puisque OpenCart est MVC, nous éditons notre Thème puis notre PHP ... ou PHP puis les fichiers THEME .. c'est l'inverse ..

Guider

1 - Ouvrez /catalog/view/theme/default/template/common/home.tpl

Après cette ligne:

<h1 style="display: none;"><?php echo $heading_title; ?></h1>

Ajoute ça:

<?php MyWordPressFunction() ?>

ou ca:

<div>
    <h2>Latest posts from our blog</h2>
    <?php MyWordPressFunction() ?>
</div>

2 - Ouvrez notre code PHP qui est maintenant le code du home.tpl page, c'est /catalog/controller/common/home.php

Au bas du code après la classe principale et la fin ?> PHP ajoutez ceci:

// WORDPRESS LATEST POSTS
//#customPHP
// The tag above is so that when you upgrade OpenCart
// Before doing so you need to make sure of all the core
// core changes you made - a unique global comment tag
// is easy to find.

function MyWordPressFunction(){

    // DB
        // GET THE POSTS
        // LIMIT BY 5
        // ORDER BY LATEST POSTS
    $sql=mysql_query("SELECT * FROM `wordpress_db`.`wp_posts` ORDER BY `wp_posts`.`post_date` DESC LIMIT 5");
    while($row = mysql_fetch_array($sql)){

        // VARS (easy to play with in the echo)

        $id=$row["ID"];
        $author=$row["post_author"];
        $date=$row["post_date"];
        $post=$row["post_content"];
        $title=$row["post_title"];

        echo '

            <div id="postID_'.$id.'>

                <h3>'.$title.'</h3>

                <p>'.$post.'</p>

                <p>Posted by '.$author.' on '.$date.'</p>

            </div>

        ';

    }

    // END DB

}

Cela devrait vous donner une idée de certains appels de fonction de base PHP. C'est une direction pour commencer. Vous pouvez développer davantage les catégories de liens, les liens d'auteur, etc.).

Soit dit en passant, toutes ces variables peuvent être utilisées comme vous pouvez le voir dans le tableau WP_Posts:

/*

All these can be used

ID
post_author
post_date
post_date_gmt
post_content 
post_title
post_excerpt
post_status
comment_status
ping_status
post_password
post_name
to_ping
pinged
post_modified
post_modified_gmt
post_content_filtered
post_parent
guid
menu_order
post_type
post_mime_type
comment_count

*/

Conseils

Regardez généralement à travers tout le filtre OpenCart sur SO - il existe de nombreux articles sur l'écriture de mods, modifiant son fonctionnement et créant des pages personnalisées - ceux-ci vous aideront vraiment dans votre peaufinage à long terme. Le code ci-dessus est pas de style ou d'autres réglages, voici un guide.

Lectures complémentaires et meilleurs messages de type module

Comment ajouter un nouveau module à l'administration d'opencart?

Comment ajouter un nouveau module à l'administration d'OpenCart?

Comment créer une page d'administration personnalisée dans opencart?

Comment créer une page d'administration personnalisée dans opencart?

Comment puis-je faire fonctionner un formulaire de coupon/bon d'échange de page externe dans OpenCart?

Comment puis-je faire fonctionner un formulaire de bon/coupon de page externe dans OpenCart?

Opencart - Comment puis-je exécuter un code personnalisé sur la page produit? Sans mods sur le produit contrôleur

Opencart - Comment puis-je exécuter un code personnalisé sur la page produit? Sans mods sur le produit contrôleur

Comment puis-je afficher le sous-total sur OpenCart sur n'importe quelle page?

Comment puis-je afficher le sous-total sur OpenCart sur n'importe quelle page?

32
TheBlackBenzKid

Merci TheBlankBenzKid pour une réponse très utile, mais je pense qu'il y a une petite chose à ajouter ici. Si vous souhaitez afficher vos blogs wordpress sur votre boutique opencart, assurez-vous de donner à vos bases de données wordpress) les autorisations utilisateur correctes à l'utilisateur de la base de données opencart, fait im mon cas via cpanel.

1
Gavin Simpson