Я занимаюсь разработкой сайта с использованием Symfony 1.4.20, но разработчику нужны такие вещи, как этот образ
Каждый из них – это админ-модуль, генерирующий doctrine:generate-admin
задачи doctrine:generate-admin
.
Как я достигаю этой задачи? Я имею в виду работать с каждым из одного интерфейса, созданного вкладками?
РЕДАКТИРОВАТЬ
Основываясь на предложениях, сделанных @antony, я делаю это: создайте компонент.class.php внутри /frontend/modules/emisores/actions/components.class.php
, добавьте этот код внутри класса:
class emisoresComponents extends sfComponents { public function executeIndex(sfWebRequest $request) { $this->sdriving_emisors = Doctrine_Core::getTable('SdrivingEmisor')->createQuery('a')->execute(); } }
Включить компонент в представление, где создаются вкладки
<?php include_component('emisores'); ?>
Но я получаю эту ошибку
Не удалось инициализировать sfComponents.
Что не так?
EDIT2 У меня возникают проблемы с разбивкой по страницам, потому что я перенаправлен на модуль, а не получаю разбивку на страницы внутри вкладки. Я меняю компонент на это:
public function executeIndex(sfWebRequest $request) { $this->pager = new sfDoctrinePager('SdrivingEmisor', 10); $this->pager->setQuery(Doctrine_Core::getTable('SdrivingEmisor')->createQuery('a')); $this->pager->setPage($request->getParameter('page', 1)); $this->pager->init(); }
Затем в представлении (_index.php) я написал следующее:
<?php if (count($pager) > 0): ?> <table class="table table-condensed table-striped table-bordered table-hover marginBottom"> <thead> <tr> <th><?php echo __('Número') ?></th> <th> </th> </tr> </thead> <tbody> <?php foreach ($pager->getResults() as $sdriving_emisor): ?> <tr> <td><?php echo $sdriving_emisor->getNumero() ?></td> <td> <a href="<?php echo url_for('emisores/edit?idemisor=' . $sdriving_emisor->getIdemisor() . '&idempresa=' . $sdriving_emisor->getIdempresa()) ?>" class="btn btn-success btn-mini">Editar</a> <a href="<?php echo url_for('emisores/delete?idemisor=' . $sdriving_emisor->getIdemisor() . '&idempresa=' . $sdriving_emisor->getIdempresa()) ?>" class="btn btn-danger btn-mini">Eliminar</a> </td> </tr> <?php endforeach; ?> </tbody> </table> <?php else: ?> <div class="alert alert-block"> <h4><?php echo __('Información!') ?></h4> <?php echo __('No se ha creado ningún emisor aún. Haga clic en el botón "Crear Nuevo" para crear uno.') ?> </div> <?php endif; ?> <div class="pagination"> <strong><?php echo count($pager) ?></strong> <?php echo __('emisores encontrados') ?> <?php if ($pager->haveToPaginate()): ?> <div class="clearfix"></div> <ul> <li><?php echo link_to(__('Anterior'), 'emisores/index?page=' . $pager->getPreviousPage()) ?></li> <?php $links = $pager->getLinks(); ?> <?php foreach ($links as $page): ?> <li> <?php echo ($page == $pager->getPage()) ? $page : link_to($page, 'emisores/index?page=' . $page); ?> <?php if ($page != $pager->getCurrentMaxLink()): ?> <?php endif ?> </li> <?php endforeach; ?> <li><?php echo link_to(__('Siguiente'), 'emisores/index?page=' . $pager->getNextPage()) ?></li> </ul> <?php endif; ?> </div>
Но, как я уже сказал, я перенаправляюсь на модуль emisor
вместо того, чтобы emisor
страницы на активной вкладке, какие-либо советы?