Показ блога Wordpress 2 на домашней странице Magento2? - PullRequest
0 голосов
/ 23 мая 2018

Я успешно выполнил интеграцию fishpig с magento2, но не смог показать 2 сообщения в блоге. Домашняя страница Magento2. Я создал свой файл custom.phtml и вызвал его на домашней странице, но пришло только одно сообщение

<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance() ?>
<?php $posts = $objectManager->create('FishPig\WordPress\Model\ResourceModel\Post\Collection')
    ->addPostTypeFilter('post')
    ->setOrderByPostDate()
    ->addIsViewableFilter()
    ->setPageSize(5)
    ->load(2); ?>
<?php if (count($posts) > 0): ?>
    <ul>
        <?php foreach($posts as $post): ?>

            <li>
                <a href="<?php echo $post->getUrl() ?>"><?php echo $this->escapeHtml($post->getPostTitle()) ?></a>
                <?php if ($image = $post->getFeaturedImage()): ?>
                    <a href="<?php echo $post->getUrl() ?>">
                        <img src="<?php echo $image->getAvailableImage() ?>" src="<?php echo $this->escapeHtml($post->getPostTitle()) ?>" />
                    </a>
                <?php endif; ?>
                <p><?php echo $post->getPostExcerpt(40) ?></p></li>
        <?php endforeach; ?>
    </ul>
<?php endif; ?>

Хочу показать два последних поста

1 Ответ

0 голосов
/ 23 мая 2018

Код выглядит нормально, однако вам не нужно передавать '2' в метод загрузки.

->load(2); // You don't need the 2

->load();  // This is fine

Если этот код возвращает 1 сообщение, возможно, это потому, что у вас есть только 1 сообщениев вашем блоге?

Приведенный ниже код покажет, сколько публикаций у вас есть.

<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance() ?>
<?php $posts = $objectManager->create('FishPig\WordPress\Model\ResourceModel\Post\Collection')
  ->addPostTypeFilter('post')
  ->setOrderByPostDate()
  ->addIsViewableFilter()
  ->load(); ?>
<?php echo count(posts) ?> posts
...