Подтвердить что ты не робот

Как сделать простой модуль в OpenCart? Пример получения последних сообщений от Wordpress и показ его в OpenCart?

Я новичок в этом форуме, а также в OpenCart.

Мне нужна помощь по созданию модуля в OpenCart. В моем случае он получит последние 5 сообщений из каждой категории моей установки WordPress и отобразит их на моей домашней странице моего магазина OpenCart.

Я уже установил OpenCart и WordPress в одной базе данных на том же хосте.

Может кто-нибудь посоветует мне об этом?

4b9b3361

Ответ 1

Это может быть очень легко в зависимости от ваших навыков. Я ожидаю, что ваш вопрос будет рассмотрен, но я кратко прохожу через шаги, так как это не так, как работает SO. Прежде всего, нужно редактировать наши файлы THEMES. Поскольку OpenCart является MVC, мы редактируем нашу тему, а затем наш PHP... или PHP, а затем файлы THEME.. это наоборот...

Руководство по

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

*/

Советы

В общем, просмотрите весь фильтр OpenCart на SO - есть много статей о написании модов, изменении его работы и создании пользовательских страниц - это действительно поможет в вашей долгой настройке. Вышеприведенный код не получил стиль или дополнительные настройки, это руководство.

Дальнейшее чтение и более качественные сообщения типа

Как добавить новый модуль в администрацию opencart?

Как добавить новый модуль в администрацию opencart?

Как создать пользовательскую страницу администратора в opencart?

Как создать пользовательскую страницу администратора в opencart?

Как мне получить форму купона/ваучера на странице в OpenCart?

Как получить форму купона/ваучера на странице в OpenCart?

Opencart - Как я могу выполнить собственный код на странице продукта? Без модов на контроллере

Opencart - Как я могу выполнить собственный код на странице продукта? Без модов в продукте контроллера

Как я могу отобразить SubTotal на OpenCart на любой странице?

Как я могу отобразить SubTotal на OpenCart на любой странице?

Ответ 2

Спасибо TheBlankBenzKid за очень полезный ответ, но я думаю, что здесь есть одна небольшая вещь. Если вы хотите отобразить свои блоги в WordPress в своем магазине, убедитесь, что вы предоставили своим базам данных Wordpress правильные разрешения пользователя для пользователя базы данных opencart, сделанные им в моем случае через cpanel.