Thanks, Jeremy, I got it working just the way that I wanted with your help.

On Tue, Nov 8, 2011 at 1:11 PM, Jeremy Burns | Class Outfit <
[email protected]> wrote:

> What we are trying to show you is that you don't need to go to the
> overhead of using loads of forms; simple links will work. They also have
> the advantage that you can distribute the link.
>
> echo $this->Html->link(
> 'A',
> array(
> 'controller' => 'widgets',
> 'action' => 'filter',
> 'a'
> )
> );
>
> echo $this->Html->link(
> 'B',
> array(
> 'controller' => 'widgets',
> 'action' => 'filter',
> 'b'
> ),
> array(
> 'class' => 'selected'  // because the user clicked 'B'
> )
> );
>
> Jeremy Burns
> Class Outfit
>
> http://www.classoutfit.com
>
> echo $this->Html->link(
> 'C',
> array(
> 'controller' => 'widgets',
> 'action' => 'filter',
> 'c'
> )
> );
>
> Could render these with a for/next loop of course.
>
> In your filter action, $letter = 'b'. $widgets is set to the returned find
> (where Widgets.name starts with 'b').
>
> One change I should make is to convert the first letter of the name to
> lower case, so something like this:
>
> function filter($letter) {
> $widgets = $this->Widget->find(
> 'all',
> array(
> 'conditions' => array(
> strtolower(substr('Widget.name', 0, 1)) => $letter
>
> )
> )
> );
>
> $this->set(compact('letter', 'widgets'));
>
> }
>
>
> Jeremy Burns
> Class Outfit
>
> Tel: +44 (0) 208 123 3822
> Mob: +44 (0) 7973 481949
> Skype: jeremy_burns
> http://www.classoutfit.com
>
> On 8 Nov 2011, at 17:48, Yves S. Garret wrote:
>
> I'm not following.  $letters has just the names of the buttons and their
> identification (can't really word this any better, basically the idea is
> that once I click on a link/button, the identity of that button gets passed
> to the controller and it does something specific for it).
>
> It would seem $widgets and $letter are the same... then why not just use
> $letter?
>
> On Tue, Nov 8, 2011 at 11:31 AM, Jeremy Burns | Class Outfit <
> [email protected]> wrote:
>
>> Have a controller action, something like:
>>
>> function filter($letter) {
>>  $widgets = $this->Widget->find(
>> 'all',
>> array(
>>  'conditions' => array(
>> substr('Widget.name', 0, 1) => $letter
>> )
>>  )
>> );
>>
>> $this->set(compact('letter', 'widgets'));
>>
>> }
>>
>> Then $widgets is a variable in your view that contains only those whose
>> name starts with $letter. You can use the $letter variable to highlight the
>> href for that letter.
>>
>> There are better ways of doing this (you could store the first letter of
>> 'Widget.name' in a table field and search on that and you could use a model
>> function too. But this concept would work.
>>
>> Jeremy Burns
>> Class Outfit
>>
>> http://www.classoutfit.com
>>
>> On 8 Nov 2011, at 16:12, Yves S. Garret wrote:
>>
>> What do you mean?  <a href?
>>
>> On Tue, Nov 8, 2011 at 11:09 AM, Benni Graf <[email protected]> wrote:
>>
>>> Hi there,
>>>
>>> Before someone tells you how to do what you want, let me ask you: Why
>>> don't you use a simple link instead of a form-button? That would make
>>> less markup and more sense to me. And with a certain amount of css you
>>> could easily make the link look like a button just to please your
>>> executives ;-)...
>>>
>>> Regards, Benni.
>>>
>>>
>>>
>>> On 8 Nov., 16:54, "Yves S. Garret" <[email protected]> wrote:
>>> > Before I even go on, here is what I have:
>>> >
>>> > View:http://bin.cakephp.org/view/404159005
>>> > Controller:http://bin.cakephp.org/view/21698870
>>> >
>>> > The idea that I'm trying to do is have a row of buttons spanning the
>>> > alphabet.  The user clicks on the button and then it lists all of the
>>> > people with their last name starting with the specific letter.  This
>>> is a
>>> > requirement, yes, I know, you can just type in 'R' and hit Enter and
>>> the
>>> > same thing will be done, no, this did not please powers-that-be.
>>>  Moving
>>> > on...
>>> >
>>> > I didn't want to create a function for _every_ button.  That seemed
>>> painful
>>> > and just bad coding.  I would like to call that method and then pass
>>> in a
>>> > value (in this case, a string of one length) and the method will
>>> perform a
>>> > specific function based on the input.  I tried this line of code:
>>> > echo $this->Form->button($letter, array('action' =>
>>> 'view_admit_lookup'));
>>> >
>>> > I did some digging online:
>>> http://book.cakephp.org/view/1415/buttonhttp://api.cakephp.org/file/cake/libs/view/helpers/form.php#method-Fo.
>>> ..
>>> >
>>> > I couldn't find anything that would do this for me easily.  Am I
>>> missing
>>> > something?  Did I look into the wrong docs?
>>>
>>> --
>>> Our newest site for the community: CakePHP Video Tutorials
>>> http://tv.cakephp.org
>>> Check out the new CakePHP Questions site http://ask.cakephp.org and
>>> help others with their CakePHP related questions.
>>>
>>>
>>> To unsubscribe from this group, send email to
>>> [email protected] For more options, visit this
>>> group at http://groups.google.com/group/cake-php
>>>
>>
>>
>> --
>> Our newest site for the community: CakePHP Video Tutorials
>> http://tv.cakephp.org
>> Check out the new CakePHP Questions site http://ask.cakephp.org and help
>> others with their CakePHP related questions.
>>
>>
>> To unsubscribe from this group, send email to
>> [email protected] For more options, visit this group
>> at http://groups.google.com/group/cake-php
>>
>>
>>
>> --
>> Our newest site for the community: CakePHP Video Tutorials
>> http://tv.cakephp.org
>> Check out the new CakePHP Questions site http://ask.cakephp.org and help
>> others with their CakePHP related questions.
>>
>>
>> To unsubscribe from this group, send email to
>> [email protected] For more options, visit this group
>> at http://groups.google.com/group/cake-php
>>
>
>
> --
> Our newest site for the community: CakePHP Video Tutorials
> http://tv.cakephp.org
> Check out the new CakePHP Questions site http://ask.cakephp.org and help
> others with their CakePHP related questions.
>
>
> To unsubscribe from this group, send email to
> [email protected] For more options, visit this group
> at http://groups.google.com/group/cake-php
>
>
>  --
> Our newest site for the community: CakePHP Video Tutorials
> http://tv.cakephp.org
> Check out the new CakePHP Questions site http://ask.cakephp.org and help
> others with their CakePHP related questions.
>
>
> To unsubscribe from this group, send email to
> [email protected] For more options, visit this group
> at http://groups.google.com/group/cake-php
>

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to