我是这个论坛的新手,也是 OpenCart 的新手。
我需要有关在 OpenCart 中创建模块的帮助。就我而言,它将从我的 WordPress 安装的每个类别中获取最新的 5 篇文章,并将其显示在我的 OpenCart 商店的主页上。
我已经在同一主机上的同一数据库中安装了 OpenCart 和 WordPress。
有人可以建议我吗?
根据您的技能,这可能非常容易。我希望对您的问题投反对票,但我将简要介绍这些步骤,因为这不是 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 上的 SubTotal?
感谢 TheBlankBenzKid 提供了非常有用的答案,但我认为这里有一件小事值得添加。如果您确实希望在您的 opencart 商店中显示您的 wordpress 博客,请确保您为您的 wordpress 数据库授予 opencart 数据库用户的正确用户权限,通过 cpanel 完成我的案例。