Получение пейджера для отображения в списке magento


В настоящее время у нас есть страница предложений, на которой перечислены все существующие предложения, которые мы хотели бы показать на пейджере.

У нас есть следующий код на странице списка, который мы добавили вызов на пейджер, но, похоже, он вообще не отображает интерфейс.

Я также добавил страницу истории, на которой отображается список с пейджером в качестве примера рабочей страницы, которую мы пытаемся имитировать.

Может ли кто-нибудь указать нам правильное направление, поскольку мы, похоже, пропали без вести что-то

Список

<?php $_quotation = $this->getQuotations();?>
<?php if($_quotation->getSize()): ?>
<?php echo $this->getPagerHtml(); ?>
<table cellspacing="0" class="data-table" id="my-quotations-table">
    <thead>
        <tr>
            <th class="quote-quote"><?php echo $this->__('Quote #') ?></th>
            <th class="quote-date"><?php echo $this->__('Creation Date') ?></th>
            <th class="quote-valid"><?php echo $this->__('Valid until') ?></th>
            <th class="quote-status"><?php echo $this->__('Status') ?></th>
            <th class="quote-view-link">&nbsp;</th>
        </tr>
    </thead>
    <tbody>
        <?php $_odd = ''; ?>
        <?php foreach ($this->getQuotations() as $_quotation): ?>
            <?php $_quotation->checkExpirationDateAndApply(); ?>
            <tr>
                <td><?php echo $_quotation->getincrement_id() ?></td>
                <td><?php echo $this->formatDate($_quotation->getcreated_time()) ?></td>
                <td><?php echo $this->formatDate($_quotation->getValidEndTime()); ?>
                <td><?php echo $this->__($_quotation->getstatus()); ?></td>
                <td class="a-center"><?php if ($_quotation->isViewableByCustomer()): ?>
                        <a href="<?php echo $this->getViewUrl($_quotation) ?>"><?php echo $this->__('View Quotation') ?></a>
                        <?php endif; ?>
                </td>
            </tr>
        <?php endforeach; ?>
    </tbody>
</table>
<script type="text/javascript">decorateTable('my-quotations-table')</script>
<?php echo $this->getPagerHtml(); ?>
<?php else: ?>
    <p><?php echo $this->__('You have no quotes available.') ?></p>
<?php endif ?>

История

<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
<?php $_orders = $this->getOrders(); ?>
<div class="pager"><?php echo $this->getPagerHtml(); ?></div>
<?php if($_orders->getSize()): ?>
<table class="data-table" id="my-orders-table">
    <col width="1" />
    <col width="1" />
    <col />
    <col width="1" />
    <col width="1" />
    <col width="1" />
    <thead>
        <tr>
            <th><?php echo $this->__('Order #') ?></th>
            <th><?php echo $this->__('Date') ?></th>
            <th><?php echo $this->__('Delivery To') ?></th>
            <th><span class="nobr"><?php echo $this->__('Order Total') ?></span></th>
            <th><span class="nobr"><?php echo $this->__('Order Status') ?></span></th>
            <th>&nbsp;</th>
        </tr>
    </thead>
    <tbody>
        <?php $_odd = ''; ?>
        <?php foreach ($_orders as $_order): ?>
        <tr>
            <td><?php echo $_order->getRealOrderId() ?></td>
            <td><span class="nobr"><?php echo $this->formatDate($_order->getCreatedAtStoreDate()) ?></span></td>
            <td><?php echo $_order->getShippingAddress() ? $this->htmlEscape($_order->getShippingAddress()->getName()) : '&nbsp;' ?></td>
            <td><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></td>
            <td><em><?php echo $_order->getStatusLabel() ?></em></td>
            <td class="a-center">
                <span class="nobr"><a href="<?php echo $this->getViewUrl($_order) ?>"><?php echo $this->__('View Order') ?></a>
                    <?php /*<span class="separator">|</span><a href="<?php echo $this->getTrackUrl($_order) ?>"><?php echo $this->__('Track Order') ?></a>&nbsp;*/ ?>
                    <?php if ($this->helper('sales/reorder')->canReorder($_order)) : ?>
                    <span class="separator">|</span> <a href="<?php echo $this->getReorderUrl($_order) ?>" class="link-reorder"><?php echo $this->__('Reorder') ?></a>
                <?php endif ?>
                </span>
            </td>
        </tr>
        <?php endforeach; ?>
    </tbody>
</table>
<script type="text/javascript">decorateTable('my-orders-table');</script>
<?php echo $this->getPagerHtml(); ?>
<?php else: ?>
    <p><?php echo $this->__('You have placed no orders.'); ?></p>
<?php endif ?>

Блок компоновки для списка

<quotation_quote_list>
    <reference name="root">
        <action method="setTemplate"><template>page/3columns-account.phtml</template></action>
    </reference>
    <update handle="customer_account"/>
    <reference name="content">
            <block type="Quotation/Frontend_Grid" name="quotationslist" as="quotationslist" template="Quotation/List.phtml"/>
    </reference>
</quotation_quote_list>
Author: Vince Pettit, 2011-06-22

1 answers

Мы можем реализовать пользовательскую коллекцию моделей с разбиением на страницы magento, расширив класс Mage_Catalog_Block_Product_List в нашем классе блоков. Предположим, я хочу отображать сообщения в блогах пользователей с разбиением на страницы. Вот шаги для его легкой реализации:

  1. Создайте класс блоков (posts.php ) и добавьте в него приведенный ниже код.

    class Blog_User_Block_Posts extends Mage_Catalog_Block_Product_List
    {
        protected function _beforeToHtml()
        {
            $toolbar = $this->getToolbarBlock();
            $collection = $this->_getPostsCollection();
            $toolbar->setCollection($collection);     /*(Add toolbar to collection)*/
            return parent::_beforeToHtml();
        }
    }
    
  2. В файле view.phptml добавьте в него приведенный ниже код

    <?php echo $this->getToolbarHtml() ?>
    
 3
Author: shylaja, 2011-08-08 10:31:43