<p>You may need to install your Plugin through the control panel. To do this go to 'Settings>Plugins' and if you've set it up correctly then you should see your Plugin name in the list. </p>

<p>Simply click "Install" and then your plugins file will be accessible from your templates.</p>

CC BY-SA 3.0
2016-05-21T09:29:37.323Z
2016-05-21T09:29:37.323Z
Luke Pearce
<p>I had the plugin set up correctly but I didn't go into the administration menu and install the plugin via the GUI.</p>

CC BY-SA 3.0
2016-05-21T00:59:53.153Z
It happens to the best of us :)
Patrick Harrington
CC BY-SA 3.0
2016-05-20T23:24:40.493Z
2016-05-20T23:24:40.493Z
danieltalsky
<p>I'm writing my first Craft CMS plugin.</p>

<p>I have the following tag in my form:</p>

<pre><code>&lt;input type="hidden" name="action" value="clientnameDonation/donateForm/donate"&gt;
</code></pre>

<p>And then I have the following controller code to handle the action:</p>

<pre><code>namespace Craft;

class ClientnameDonation_DonateFormController extends BaseController
{
    protected $allowAnonymous = array('actionDonate',
        );

    public function actionDonate()
    {
        // stuff
    }
}
</code></pre>

<p>When I try to submit the form, I get the following error:</p>

<blockquote>
  <p>Unable to resolve the request "clientnameDonation/donateForm/donate"</p>
</blockquote>

<p>Is there a piece I'm missing, or is there a casing error somewhere?</p>

<p>I also tried just using a raw action URL like this:</p>

<blockquote>
  <p><a href="http://URL/index.php?p=actions/clientnameDonation/donateForm/donate" rel="nofollow">http://URL/index.php?p=actions/clientnameDonation/donateForm/donate</a></p>
</blockquote>

<p>I get the same routing error.</p>

CC BY-SA 3.0
2016-05-20T17:22:02.327Z
Can you try the URL minus the index.php?p=. That gets me depending on my local environment every now and then. Also, make sure the plugin is installed.
Jason McCallister
CC BY-SA 3.0
2016-05-20T17:28:23.410Z
This may sound insulting but have you installed the plugin?
Luke Pearce
CC BY-SA 3.0
2016-05-20T17:36:35.747Z
also, what is the file name of the controller?
Luke Pearce
CC BY-SA 3.0
2016-05-20T18:12:13.057Z
Believe me it's not insulting at all.  I don't know how to "install" a plugin other than adding the folder with the correct plugin infrastructure to the plugins folder.  Do I need to create a github repo of the plugin and actually install it that way?  The file path of the controller is: `craft/plugins/clientnamedonation/controllers/ClientnameDonation_DonateFormController.php`
danieltalsky
CC BY-SA 3.0
2016-05-20T18:14:08.037Z
You need to go into the control panel then 'Settings>Plugins'. If you've set it up correctly then you should see your plugin name in the list. Simply click "Install" and then your plugins file will be accessible from your templates.
Luke Pearce
CC BY-SA 3.0
2016-05-20T18:23:53.750Z
Additionally I'd make sure you use something like https://pluginfactory.io/ to generate the boilerplate plugin code for you.  Reduces the chance of running into this like case sensitivity issues on case sensitive operating systems.
Brad Bell
CC BY-SA 3.0
2016-05-20T18:41:52.913Z
Ok, I DID use pluginfactory.io to generate the boilerplate.  I didn't realize I needed to activate the plugin in the UI.  When I go to Settings>Plugins I do NOT see my plugin listed there.  Also, I did try clearing the cache.
danieltalsky
CC BY-SA 3.0
2016-05-20T20:29:53.717Z
Are there any other troubleshooting steps I can take?
danieltalsky
<plugins><routing><controller>
How do I wire my form action to my controller action?
# How do I wire my form action to my controller action?

(Asked by: username_0 on 2016-05-20)

I'm writing my first Craft CMS plugin.
I have the following tag in my form:


And then I have the following controller code to handle the action:
namespace Craft;

class ClientnameDonation_DonateFormController extends BaseController
{
    protected $allowAnonymous = array('actionDonate',
        );

    public function actionDonate()
    {
        // stuff
    }
}

When I try to submit the form, I get the following error:

Unable to resolve the request "clientnameDonation/donateForm/donate"

Is there a piece I'm missing, or is there a casing error somewhere?
I also tried just using a raw action URL like this:

http://URL/index.php?p=actions/clientnameDonation/donateForm/donate

I get the same routing error.

**Tags:** plugins, routing, controller

> **Comments:**
> **username_1**: Can you try the URL minus the index.php?p=. That gets me depending on my local environment every now and then. Also, make sure the plugin is installed.  
> **username_2**: This may sound insulting but have you installed the plugin?  
> **username_2**: also, what is the file name of the controller?  
> **username_0**: Believe me it's not insulting at all.  I don't know how to "install" a plugin other than adding the folder with the correct plugin infrastructure to the plugins folder.  Do I need to create a github repo of the plugin and actually install it that way?  The file path of the controller is: `craft/plugins/clientnamedonation/controllers/ClientnameDonation_DonateFormController.php`  
> **username_2**: You need to go into the control panel then 'Settings>Plugins'. If you've set it up correctly then you should see your plugin name in the list. Simply click "Install" and then your plugins file will be accessible from your templates.  
> **username_3**: Additionally I'd make sure you use something like https://pluginfactory.io/ to generate the boilerplate plugin code for you.  Reduces the chance of running into this like case sensitivity issues on case sensitive operating systems.  
> **username_0**: Ok, I DID use pluginfactory.io to generate the boilerplate.  I didn't realize I needed to activate the plugin in the UI.  When I go to Settings>Plugins I do NOT see my plugin listed there.  Also, I did try clearing the cache.  
> **username_0**: Are there any other troubleshooting steps I can take?  

---

## 2 answers

### Answer by username_2 on 2016-05-21. Score: 1 | Accepted answer

You may need to install your Plugin through the control panel. To do this go to 'Settings>Plugins' and if you've set it up correctly then you should see your Plugin name in the list.

Simply click "Install" and then your plugins file will be accessible from your templates.


---

### Answer by username_0 on 2016-05-20. Score: 2

I had the plugin set up correctly but I didn't go into the administration menu and install the plugin via the GUI.

> **Comments:**
> **username_4**: It happens to the best of us :)  

---

