Symfony 1.4.20を使ってサイトを開発していますが、デザイナーはこの画像のようなものを望んでいます
これはそれぞれ管理モジュール生成トラフ タスクdoctrine:generate-admin
です。
このタスクを達成するにはどうすればよいですか? タブで作成されたすべてのインターフェイスで動作するということですか?
編集
@antony による提案に基づいて、私はこれを行います: 内に components.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
、アクティブなタブ内のページネーションではなくモジュールにリダイレクトされます。何かアドバイスはありますか?