Получение пейджера для отображения в списке 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"> </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> </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()) : ' ' ?></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> */ ?>
<?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>
1 answers
Мы можем реализовать пользовательскую коллекцию моделей с разбиением на страницы magento, расширив класс Mage_Catalog_Block_Product_List
в нашем классе блоков. Предположим, я хочу отображать сообщения в блогах пользователей с разбиением на страницы. Вот шаги для его легкой реализации:
-
Создайте класс блоков (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(); } }
-
В файле
view.phptml
добавьте в него приведенный ниже код<?php echo $this->getToolbarHtml() ?>