如何在OpenCart中制作一个简单的模块?例如从Wordpress获取最新帖子并将其显示在OpenCart中?指导技巧进一步阅读和更好的模块类型帖子

2022-08-30 17:48:55

我是这个论坛和OpenCart的新手。

我需要有关在OpenCart中创建模块的帮助。在我的情况下,它将从我的WordPress安装的每个类别中获取最新的5个帖子,并将其显示在我的OpenCart商店的主页中。

我已经在同一台主机上的同一数据库中安装了OpenCart和WordPress。

有人可以就此向我提供建议吗?


答案 1

根据您的技能,这可能非常容易。我希望对您的问题投反对票,但我会简要介绍这些步骤,因为这不是SO的工作方式。第一件事是编辑我们的主题文件。由于OpenCart是MVC,我们编辑我们的主题,然后编辑我们的PHP...或PHP,然后是主题文件。反之亦然。

指导

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

在此行之后:

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

添加以下内容:

<?php MyWordPressFunction() ?>

或者这个:

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

2 - 打开我们的PHP代码,现在是页面的代码,这是home.tpl/catalog/controller/common/home.php

在代码底部的主类和结束的 PHP 标记之后添加以下内容:?>

// 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

}

这应该可以让您了解一些基本的PHP函数调用。这是一个让你开始的方向。您可以进一步扩展到链接类别,作者链接等。

顺便说一句,所有这些变量都可以使用,如您在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

*/

技巧

通常查看SO上的整个OpenCart过滤器 - 有很多关于编写mod,修改其工作方式和创建自定义页面的文章 - 这些将真正有助于您长时间的调整。上面的代码没有得到样式或进一步的调整,这是一个指南。

进一步阅读和更好的模块类型帖子

如何为开车管理添加新模块?

如何为开车管理添加新模块?

如何在opencart中创建自定义管理页面?

如何在opencart中创建自定义管理页面?

我如何获得外部页面优惠券/优惠券表格以在OpenCart中工作?

我如何获得外部页面优惠券/优惠券表格以在OpenCart中工作?

Opencart - 如何在产品页面上执行自定义代码?控制器产品上没有模组

Opencart - 如何在产品页面上执行自定义代码?控制器产品上没有模组

如何在任何页面上的 OpenCart 上显示小计?

如何在任何页面上的 OpenCart 上显示小计?


答案 2

感谢TheBlankBenzKid提供了一个非常有帮助的答案,但我认为这里有一件小事值得补充。如果您希望在opencart商店上显示您的wordpress博客,请确保您为opencart数据库用户提供正确的用户权限,通过panel完成我的情况。


推荐