Show us the from template for autocomplete

T

On Tue, Sep 30, 2014 at 7:59 PM, Radharadhya Dasa <r...@1108.cc> wrote:

> 1. /src/View/Widget/Autocomplete.php
>
> <?php
> namespace App\View\Widget;
>
> use Cake\View\Widget\WidgetInterface;
> use Cake\View\Form\ContextInterface;
>
> class Autocomplete implements WidgetInterface {
>
>     protected $_templates;
>
>     public function __construct($templates) {
>         $this->_templates = $templates;
>     }
>
>     public function render(array $data, ContextInterface $context) {
>         $data += [
>             'name' => '',
>         ];
>         return $this->_templates->format('autocomplete', [
>             'name' => $data['name'],
>             'attrs' => $this->_templates->formatAttributes($data, ['name'
> ])
>         ]);
>     }
>
>     public function secureFields(array $data){
>        return [];
>     }
> }
> ?>
>
> 2. /src/Controller/AppController.php
>
> <?php
> namespace App\Controller;
>
> use Cake\Controller\Controller;
> use Cake\Event\Event;
>
> class AppController extends Controller {
>
>     public $components = [
>         'Flash',
>         'Auth' => [
>             'loginRedirect' => [
>                 'controller' => 'users',
>                 'action' => 'view'
>             ],
>             'logoutRedirect' => [
>                 'controller' => 'Pages',
>                 'action' => 'display',
>                 'home'
>             ]
>         ]
>     ];
>
>     public $helpers = [
>         'Form' => [
>             'widgets' => [
>                 'autocomplete' => [
>                     'App\View\Widget\Autocomplete',
>                     'text',
>                     'label'
>                 ]
>             ]
>         ]
>     ];
>
>     public function beforeFilter(Event $event) {
>         $this->Auth->deny();
>     }
> }
>
>
>
> 3. /src/Template/Contacts/add.ctp
>
> <div class="actions columns large-2 medium-3">
>     <h3><?= __('Actions') ?></h3>
>     <ul class="side-nav">
>         <li><?= $this->Html->link(__('List Contacts'), ['action' =>
> 'index']) ?></li>
>     </ul>
> </div>
> <div class="contacts form large-10 medium-9 columns">
> <?= $this->Form->create($contact) ?>
>     <fieldset>
>         <legend><?= __('Add Contact'); ?></legend>
>     <?php
>         echo $this->Form->autocomplete('name');
>     ?>
>     </fieldset>
> <?= $this->Form->button(__('Submit')) ?>
> <?= $this->Form->end() ?>
> </div>
>
>
>
> Result: In the generated html there is no input for name at all.
>
> rrd
>
>
> 2014. szeptember 30., kedd 14:33:24 UTC+2 időpontban Radharadhya Dasa a
> következőt írta:
>
>> Hi,
>>
>> I am trying to make an autocomplete input work on Cake 3.0
>>
>> The current 3.0 cookbook gives a code example here :
>> http://book.cakephp.org/3.0/en/core-libraries/helpers/form.html
>>
>> If I try it I get an error message:
>> *Fatal error*: Declaration of App\View\Widget\Autocomplete::render()
>> must be compatible with Cake\View\Widget\WidgetInterface::render(array
>> $data, Cake\View\Form\ContextInterface $context) in
>> */home/rrd/public_html/sanga/src/View/Widget/Autocomplete.php* on line
>>
>> *6*If I change my render function to
>>
>> *public function render(array $data, Cake\View\Form\ContextInterface
>> $context) {*
>> Still I get the same error message.
>>
>> Any idea how to solve this?
>>
>> rrd
>>
>  --
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>
> ---
> You received this message because you are subscribed to the Google Groups
> "CakePHP" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cake-php+unsubscr...@googlegroups.com.
> To post to this group, send email to cake-php@googlegroups.com.
> Visit this group at http://groups.google.com/group/cake-php.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
=============================================================
Hire a CakePHP dev team : http://sanisoft.com
=============================================================

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to