【问题标题】:Symfony 1 - How to make a link from a foreachSymfony 1 - 如何从 foreach 建立链接
【发布时间】:2016-03-07 09:12:54
【问题描述】:

我对 Symfony 1 真的很陌生。我知道它已经过时了,并且对这个版本的支持已经结束。但是我实习的公司的一个项目仍然在 symfony 1.4 上运行。

我有一个 foreach 循环;

<?php foreach ($configuration->getFormFields($form, 'show') as $fieldset => $fields): ?>
        <?php //include_partial('service/form_fieldset', array('service' => $service, 'form' => $form, 'fields' => $fields, 'fieldset' => $fieldset)) ?>

        <table id="sf_fieldset_<?php echo preg_replace('/[^a-z0-9_]/', '_', strtolower($fieldset)) ?>" cellspacing="0" cellpadding="0" class="sf_admin_st">
            <tr>
                <th>Property</th>
                <th>Value</th>
            </tr>
            <?php
            $i = 0;
            foreach ($fields as $name => $field):

                ?>
                <?php $i++;
                $class = ($i % 2 == 0) ? 'even' : 'odd';

                ?>

                <?php $attributes = $field->getConfig('attributes', array()); ?>
                <?php if ($field->isPartial()): ?>
                    <?php include_partial('service/' . $name, array('service' => $service, 'form' => $form, 'attributes' => $attributes instanceof sfOutputEscaper ? $attributes->getRawValue() : $attributes)) ?>
                <?php elseif ($field->isComponent()): ?>
                    <?php include_component('service', $name, array('service' => $service, 'form' => $form, 'attributes' => $attributes instanceof sfOutputEscaper ? $attributes->getRawValue() : $attributes)) ?>
                    <?php else: ?>
                    <tr class="<?php echo $class ?>">
                        <td><?php echo $field->getConfig('label') ? $field->getConfig('label') : $field->getName() ?>:</td>
                        <td><?php echo $form->getObject()->get($name) ? $form->getObject()->get($name) : "-" ?></td>
                    <?php endif; ?>
                    </tr>
                <?php endif; ?>

        <?php endforeach; ?>
        </table>
    <?php endforeach; ?>

上述代码输出表如下;

我的问题是,如何使表格中的字段成为指向该特定描述的链接。我希望表中的 Parent Service 值成为指向该特定值的链接。

我想过一个如果,像这样;

<?php if ($field->getConfig('label') == "parent_service_description"): ?>
                            <td><a href="#"><?php echo $form->getObject()->get($name) ? $form->getObject()->get($name) : "-" ?></a></td>
                        <?php else: ?>
                            <td><?php echo $form->getObject()->get($name) ? $form->getObject()->get($name) : "-" ?></td>
                        <?php endif; ?>

但是我的知识仍然缺乏解决这个问题。非常感谢您的帮助,好吗?

【问题讨论】:

    标签: php symfony1 symfony-1.4


    【解决方案1】:

    如果您有通往详细信息页面的路线,我会使用 url_for 和给定的 $parentId 尝试类似的操作:

    <?php if ($field->getConfig('label') == "parent_service_description"): ?>
    <td>
       <a href="<?php echo url_for('@show_details?id=' . $parentId) ?>">
          <?php echo $form->getObject()->get($name) ? $form->getObject()->get($name) : "-" ?>
       </a>
    </td>
    

    【讨论】:

    • 谢谢,我知道我正朝着正确的方向前进。 (我希望:D)
    【解决方案2】:

    你应该使用。

    echo link_to ($name, "action/module?id=". $sf_params->get("id") . "&params2=2") ) 
    

    背后的原因是它的可读性和简单性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      相关资源
      最近更新 更多