We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

Extending the Members Module

Development and Programming

Komra Moriko's avatar
Komra Moriko
5 posts
17 years ago
Komra Moriko's avatar Komra Moriko

How do I extend the members module. There is zero documentation in the developers section on how the members module accomplishes even half of what it does.

:long:

I know because I read the entire developers guide including the module tutorial and the code for the Fortunes module - which incidentally does not cover half of the types of functionality that the members module provides. I need to add an extra section to the members’ public facing control panel. For example, the member control panel lets a member Edit Profile, Edit Avatar, Edit Signature, etc. I need to be able to add a new section Edit Foo, also with a form, and then be able to process that form. How do I do this?

Where do I setup the system that links e.g. http://site.com/index.php/member/foo/ to the proper display function for that form? http://site.com/index.php/member/register/ obviously uses mod.member_register.php which makes sense given the name but still, there is absolutely no documentation covering the fact that this is how modules work. Besides that the constructor for the Member_register class is blank. Instead the form is generated by the registration_form() function and there’s no documentation regarding how in the world http://site.com/index.php/member/register/ knows that it should run the registration_form() function. Not only that but then there’s the backend Admin section. There is nothing in the documentation explaining how to add sections to the Admin tab. In the Admin tab there is an area for member profile templates:

CP Home > Admin > Members and Groups > Member Profile Templates > Default

but there is no documentation for this section, what it does, what it’s for, how to use it, and there’s no way to add or remove templates or hook these templates to specific URLs.

What gives? 😡

By the way, the example.zip was corrupted when I tried to download it. I downloaded it a few different times using a few different methods. The example.zip that comes with the downloadable module documentation is fine. The one that is linked directly off of the online version is corrupted.

       
Komra Moriko's avatar
Komra Moriko
5 posts
17 years ago
Komra Moriko's avatar Komra Moriko

nevermind i figured it out by just reading the code. so much for “developer documentation” 😏

This post can be marked as “closed” or “resolved” or whatever. I’ll open a new one with a more specific question should the need arise.

       
Ingmar Greil's avatar
Ingmar Greil
29,243 posts
17 years ago
Ingmar Greil's avatar Ingmar Greil

From what I understand, developer information should enable you to write your own modules and plugins; it is not meant as a documentation of existing ones. But glad you found what you were looking for in the source.

       
Komra Moriko's avatar
Komra Moriko
5 posts
17 years ago
Komra Moriko's avatar Komra Moriko
it is not meant as a documentation of existing ones

but it should cover any techniques used in anything that is called a module so that anyone else can create modules with the same functionality. The developer documentation does NOT cover this. 🙄

The member module is not a module, its functionality is implemented by modification of the base expression engine source, not achievable by pure addition of module classes alone.

case closed. :zip:

       
Komra Moriko's avatar
Komra Moriko
5 posts
17 years ago
Komra Moriko's avatar Komra Moriko

P.S. case not entirely closed… someone please fix that corrupted example.zip download link

       
TonyNibbles's avatar
TonyNibbles
98 posts
17 years ago
TonyNibbles's avatar TonyNibbles

Here’s my advice: Forget using the built in Members Module.

Being outside of the EE templates, it’s simply not flexible enough. It requires many hours of attention if you wish to do anything remotely customised. For me, it is my least favourite part of Expression Engine. I’m hoping for improvements in 2.0, but we’ll see…

A much more flexible solution is the SolSpace Users module.

By using that, and some relatively simple custom plugins I wrote, I’ve been able to set up all my member profiles to be /members/username, aswell as integrate all the registration, login, forgotten password etc all in to my templates.

       
bkuberek's avatar
bkuberek
124 posts
16 years ago
bkuberek's avatar bkuberek

I agree with Komra Moriko. It would be of great help if the documentation was created from comments in the source code rather than a limited selection of methods. We developers have to do anything it takes to sell a project to a client. Many instances it requires extending and to do so we need to know more about the core.

       
ExpressionEngineer's avatar
ExpressionEngineer
148 posts
16 years ago
ExpressionEngineer's avatar ExpressionEngineer

Documentation is good. Studying the source code is better. Knowing the source code is best.

😉

       
gridonic's avatar
gridonic
231 posts
16 years ago
gridonic's avatar gridonic
nevermind i figured it out by just reading the code. so much for “developer documentation” 😏 This post can be marked as “closed” or “resolved” or whatever. I’ll open a new one with a more specific question should the need arise.

Would you mind giving us an insight? What did you find out, maybe this way others looking for someting similar will have to search less 😊

I agree that knowing the code is best, but sometimes you don’t need to go through thousands of lines to acomplish something if the system you’re extending is well documented.

       

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.