24

我是这个论坛的新手,也是 OpenCart 的新手。

我需要有关在 OpenCart 中创建模块的帮助。就我而言,它将从我的 WordPress 安装的每个类别中获取最新的 5 篇文章,并将其显示在我的 OpenCart 商店的主页上。

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

有人可以建议我吗?

4

2 回答 2

32

根据您的技能,这可能非常容易。我希望对您的问题投反对票,但我将简要介绍这些步骤,因为这不是 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 过滤器 - 有很多关于编写模块、修改其工作方式和创建自定义页面的文章 - 这些将真正有助于您长时间的调整。上面的代码没有样式或进一步的调整,这是一个指南。

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

如何将新模块添加到 opencart 管理?

如何将新模块添加到 opencart 管理?

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

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

如何让外部页面优惠券/优惠券表格在 OpenCart 中工作?

如何让外部页面优惠券/优惠券表格在 OpenCart 中工作?

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

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

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

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

于 2012-11-04T14:18:18.640 回答
1

感谢 TheBlankBenzKid 提供了非常有用的答案,但我认为这里有一件小事值得添加。如果您确实希望在您的 opencart 商店中显示您的 wordpress 博客,请确保您为您的 wordpress 数据库授予 opencart 数据库用户的正确用户权限,通过 cpanel 完成我的案例。

于 2013-03-23T09:03:12.177 回答