Questions tagged [add-on-development]

For questions specific to the creation/development of ExpressionEngine addons which include Modules, Extensions and Plugins.

Filter by
Sorted by
Tagged with
20
votes
3answers
285 views

Add-on Development with Themes and Git

I'm wondering how add-on devs who's add-ons have themes use Git? For example, the way I do things now is to just make my add-ons repo the core folder; eg, securitee or ct_admin within the third_party ...
15
votes
2answers
5k views

How do I access custom config.php variables in a plugin?

I'm writing a plugin for which I'd like to be able to set site-wide preferences via custom variables in config.php (eg $['myplugin_config_item']), and have those variables available in all my plugins ...
15
votes
1answer
2k views

Tools for learning ExpressionEngine addon development

What are the available tools/tutorials for learning to develop ExpressionEngine addons (modules, fields, extensions, plugins and accessories)?
13
votes
2answers
345 views

Custom plugins vs query tags: advantages and implementation

An answer to another question touched on the use of writing custom plugins as a more robust alternative to writing a SQL query in a template via the {exp:query} tag. What are the advantages/pitfalls ...
8
votes
3answers
169 views

Addon database interaction

When creating Addons should we utilise the underlying database structure provided by ExpressionEngine for storing large numbers of items / information. For instance use channel entries? Or should you ...
8
votes
2answers
2k views

How to create a plugin which returns channel entry data

I've created a plugin that gets the entry_id's of the most popular selling items in the exp:resso store. I'd like to extend it by letting a user loop through each of those entries and output them on ...
7
votes
3answers
568 views

Am I able to store my own module settings in an EE table?

I am writing a new module for ExpressionEngine and have a couple of settings that I want to store from the Facebook API. For example, if I wanted to store the Facebook ID and Albums they want to pull ...
7
votes
1answer
208 views

Extension Development - Use existing settings column or create a new table?

I was pondering this today and trying to decide on the best route when it comes to storing data for an extension. The data I am storing in an extension involves a many to many relationship with two ...
7
votes
1answer
299 views

Module development: how to follow OOP best practices

I'm developing an EE module and I want to follow OOP best practices and fulfil the MVC architectural pattern, I have a few questions about how to do this: Where should I define a PHP Class for ...
6
votes
2answers
525 views

Replace a variable within a plugin tag pair?

So if I have a plugin, with a tag like this: {exp:reggy mask="yes"} {head-type} {/exp:reggy} And I want to replace {head-type} with "horse mask" in the plugin code, how do I do that? EE docs ...
6
votes
1answer
102 views

How does including MIT Licensed code in an EE Addon work?

Things I'd like to admit and apologize for in advance: I am very new to StackExchange and have a feeling this may be too subjective, but I'm not sure. My understanding of the different types of ...
5
votes
6answers
5k views

How to escape special HTML characters in output?

It is commonly useful to escape encode special HTML characters in output to avoid breaking output attributes (among other reasons): Take the following seemingly innocent template snippet: <!...
5
votes
2answers
567 views

Module tag pair not working

I'm trying to create a module tag but it just isn't working, I'm following the Hello World tutorial at Ellis Lab. My module is installed and the MCP part is working. Here is my mod file: <?php if (...
5
votes
3answers
1k views

Global Variable Parsing in Add-On Module

Trying to figure out what appears to be a global variable parse issue in a module add-on template tag. Here's a sample of the tag used in the template: {exp:syn_fb_comments:show url="{current_url}"}{...
5
votes
1answer
70 views

Add-On Development: Control Panel Files

I am working on a site where the admin wants a set of tabular data. I created a module to display this data in the Control Panel, no problems there. My first concern was if there is a preferred method ...
4
votes
3answers
904 views

Pre-fill matrix field when creating new entry?

How can I pre-fill a matrix field when creating a new channel entry. The reason to do this (and why a matrix field is needed) is: Data is best entered and represented using a table. Unwanted rows ...
4
votes
3answers
251 views

theme_folder_url issue

Should be a quick one for the EE add-on devs out there. Most add-ons do support having: $config['path_third_themes'] = $base_path . "/assets/third_themes/"; $config['url_third_themes'] = $...
4
votes
2answers
170 views

Load stash partials with custom extension

I'm trying to parse markdown files stored on the server, and display them inside EE templates in a nice automatic fashion. My first idea was to read the files using Stash, then parse them using ...
4
votes
4answers
406 views

Integrating recurring payments and Store

Here I am with another Expresso Store question. My client just decided to sell memberships along other items (books), and this kind of item requires a recurring payment. I know that Store doesn't ...
4
votes
1answer
376 views

Module I'm developing will not install

I am new to EE development and am trying to get my head round creating a module. I've read various tutorials and docs and have a skeleton module created, but it will not install. In the list of ...
4
votes
2answers
1k views

How to create custom RTE buttons?

I would like to create an addon which adds a number of custom RTE formatting buttons to the built-in EE Rich Text editor. There are two issues here: How to define the simplest add-on skeleton (...
4
votes
1answer
212 views

fetch_param when you only know a portion of the param name

I'm working on extending the external_entries plugin to support a SQL LIKE clause, using the "searchlike" param that was mentioned here: As and example if I wanted to find all rows of an external ...
4
votes
1answer
291 views

TMPL->parse_variables_row() not available in model?

I have a model (core_model.php) with lots of functions in there, however having an issue with the following one in specific : Class core_model { function __construct(){ $this->EE =&...
4
votes
2answers
222 views

Pre-populating SEO lite fields: custom extension advice

I have a client site which utilises the SEO lite module. The client has come back with a feature request which I'm trying to figure out a way to achieve: they want to pre-populate the SEO fields on a ...
4
votes
1answer
84 views

Updating ExpressionEngine 2.6 add-on variable PHP code for 2.11.6 compatibility

I'm having a little trouble updating a new client's pre-existing website from EE2.6 to 2.11.6. A now defunct add-on needs a few updates to work correctly with post 2.6 code formatting. After some ...
4
votes
1answer
96 views

Initialize Wygwam within Custom Fieldtype

I'm developing a fieldtype add-on and within the fieldtype, I would like to include the option to let users choose Wygwam as the text element, if they have it installed. Is there some sort of a "...
4
votes
1answer
108 views

How to find out what class/function has invoked extension hook?

I have an extension that relies on certain extension hook. The hook can be invoked either by function from EE core or third-party module. I need to be able to tell what function / class has invoked ...
4
votes
2answers
445 views

How to have multiple data table layouts on a CP page?

I'm trying to figure out how to have more than 1 data table (filtering AJAX paginating table like the entry view in the Control Panel) on a page but there's a problem; the div used for pagination is ...
4
votes
3answers
246 views

Git subtree with add-ons that have a themes folder

I've taken to installing add-ons that I have in development in separate repositories as submodules into each of my EE projects. This has worked fine for add-ons that do not have a themes folder, but I ...
4
votes
1answer
962 views

Disable table sorting for one column of a table created with EE's Table class?

I'm building a fieldtype add-on, and it presents the data contained therein via a table. I'm using EE's Table class to generate the thing, and it's mostly working fine - columns are sortable, etc. ...
3
votes
4answers
261 views

How to 'embed' a template from within a plugin

In a plugin is it possible to output the equivalent of {embed="my_template"} if a certain condition is met? My site index file is as follows at the moment, with php enabled and set to input: <?...
3
votes
5answers
291 views

Building an add-on that accepts data from a custom front-end URL

My goal is to have a REST endpoint that I can push AJAX requests to, have those requests be parsed, potentially push some data into the DB via a channel, and then return a JSON status message. I don't ...
3
votes
3answers
97 views

Possible to “package” a Channel/Template/etc into a module?

I'm still learning EE. It seems easy enough to build something like a custom blog: define the fields I want, assign them to a channel, create templates to output the channel entries. Done. But let's ...
3
votes
1answer
260 views

Converting addon to EE3

Wonder is anyone can help me convert this EE2 addon to EE3 <?php $plugin_info = array( 'pi_name' => 'String', 'pi_version' =>...
3
votes
3answers
110 views

Add-on - Building Queries w/ Field Names vs Field ID's

I have an add-on I've built to provide custom e-commerce reports for a client. It started as one of those 'we need this very specific thing' builds and of course has grown and grown as more needs ...
3
votes
1answer
114 views

Parse exp:channel

Is there any way to parse tags exp:channel in a third party module. In my custom module I need to call exp:channel, but need to get entry ids before final rendering of the module. Can anyone know how ...
3
votes
1answer
178 views

How to force installation of extension during module install

When installing a module how do you require it's extension to be installed at the same time and vice versa? I did a google search and looked over the docs as well and didn't find anything. That doesn'...
3
votes
2answers
343 views

Is it safe to get all tag params in one go with $this->EE->TMPL->tagparams?

Apologies if this is very obvious for experienced addon devs, but I'm experimenting with writing more bespoke plugins rather than gluing together other people's... I know the official way to fetch ...
3
votes
1answer
2k views

How to load javascript file in my module

I have a module that is dependant on a couple of Javascript files. How can I load these Javascript files on the front end when my module is called? They are quite large so I cannot simply use an ...
3
votes
1answer
118 views

How to separate view from `display_field` of a custom field type?

I am implementing a custom field type which has quite a complex display_field function. I would like to separate the view logic and at the moment I have done the following: function display_field($...
3
votes
3answers
1k views

How do I add an XID hash to an old addon?

I'm using an older EE2 addon that doesn't appear to have support for secure forms. Does anyone know how to add the hidden XID hash field to the form via the addon code? I guess I'm really looking to ...
3
votes
2answers
2k views

Trigger set_flashdata when method called via ajax

Is there any way to use $this->EE->session->set_flashdata(); when calling a method via ajax without having to do a page reload to get the message to appear as it normally would under a non-...
3
votes
1answer
174 views

New 'Category' Hook or Action?

When adding/deleting/editing a category in the CP, I would like to send that data to Mailchimp (where I ultimately will have the same categories) How can this be achieved? Using a Action or a Hook? ...
3
votes
2answers
101 views

What do you need to do to make a Fieldtype Addon SafeCracker compatible?

I've built a Fieldtype Addon and have a request to make it SafeCracker compatible. The docs are not very clear on how to achieve this. http://ellislab.com/expressionengine/user-guide/modules/...
3
votes
1answer
438 views

Trying to write a simple extension… problem 1, getting it to enable!

I'm trying to put together a simple Extension that will update an existing database table when an entries in a specific channel are set to 'open'. I have been looking at the Ellislab tutorial on ...
3
votes
2answers
183 views

Plugin development: How do you support date formatting in parse_variables?

I'm trying to support date formatting of a tag's output, per the Plugin Development & Template Class documentation. I have this code on the backend, with some redundancy on the timestamp value to ...
3
votes
1answer
257 views

Sorting a table in the front-end

I'm using the Table class to render a table in my module and I want the user to be able to sort by clicking on column headers. I'm following the docs here, but when I use set_columns and set_data I ...
3
votes
3answers
599 views

Load ExpressionEngine model in Module

I am trying to pull a listing of custom channel fields in my module and am refactoring to use EE models. I tried $this->EE->load->model('field_model'); but that didn't set $this->EE->...
3
votes
1answer
60 views

Is there a helper function to generate a link to a member profile for a control panel view?

Does EE have any built in classes or helper functions to perform common tasks in module code? In this instance, I want to generate an href to a member profile to use in a control panel view, from a ...
3
votes
1answer
550 views

save_entry or submit_new_entry Channel API Methods: How do you store module field data?

I am working on an add-on solution where I would like to create a channel entry and set a value to a module custom tab field for that entry. Here's some code to share what I am up to: $this->EE-&...

1
2 3 4 5