Search code examples
formscontrollercakephp-3.0homescreen

How to go to a div with a given ID cakephp3


I am struggling with this problem, I am writing a code for a dashboard but It's not coming together. This is the code currently have:

 <?= $this->Html->link('Edit', array('#' => 'container edit', $server->id)) ?>

This is the link to the div right down here, it's working when i don't give the server-id to the specific row. With the ID it doesn't redirect correctly.

 <div class="container admin-section admin-sub edit" id="admin-edit">
      <nav class="col col-xs-12 col-md-4 columns" id="actions-sidebar">
               <ul class="side-nav">
                  <li class="heading"><?= __('Actions') ?></li>
                   <li data-target="admin-overview">Server List</li>
                    <li><?= $this->Form->postLink(
                             __('Delete'),
                             ['action' => 'delete', $servers->id],
                         ['confirm' => __('Are you sure you want to delete # {0}?', $servers->id)]
                      )
                    ?></li>
                        </ul>
                    </nav>
                    <div class="servers form col col-xs-12 col-md-8 columns content">
                        <?= $this->Form->create($servers) ?>
                        <fieldset>
                            <legend><?= __('Edit Server') ?></legend>
                            <?php
                            echo $this->Form->input('url', ['class'=> 'form-control']);
                            echo $this->Form->input('description', ['class'=> 'form-control']);
                            ?>
                        </fieldset>
                        <?= $this->Form->button(__('Submit'), ['class'=> 'btn btn-primary']) ?>
                        <?= $this->Form->end() ?>
                    </div>
                </div>

Instead it'll go to http://dashboard/pages/1#container%20add which it shouldn't be doing. How can I make sure it'll only go to the div and not a different page?


Solution

  • You can do it by using controller and action name.

    Example :

    echo $this->Html->link('Title', array(
          'controller'=>'pages',
          'action'=>'index',
          $server->id,
          'container edit'
         )
    );
    

    Above code will produce -

    • pages/{serverId}#container%20add
    • pages/index/{serverId}#container%20add