Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.
23

I will provide the list of my bookmarked links and a list with links for Joomla Development Books, with various resources all around Joomla Development. I hope they will be useful for anyone interested: Joomla Beginner Users start here: Joomla Beginner Tutorials - How to start with Joomla? Glossary - It's a good idea to get familiar with Joomla Glossary ...


18

Both Wordpress and Joomla! are highly-regarded and each have there unique advantages when you compare them. To answer your questions: in the software architecture between Joomla! and Wordpress Joomla is OOP (object-oriented) and MVC (an object-oriented design pattern). Wordpress is written in Procedural code. Procedural programming specifies the steps ...


17

Learning Joomla Module Development The way I learned, was by studying and customizing the core or other 3rd party modules. Modules as concept are simpler than the components (which we could say are 2 apps front-end/back-end) and are designed to display a piece of information. So if you open the module folder/files and start reading the code, you will ...


16

Actually it does slow the site down in the slightest by having them disabled rather than uninstalled, as when loading a plugin, it checks the ones that are enabled and runs them. If you have 100 plugins for example and 50 of them are enabled, then the where() clause will have to sift through the 50 disabled ones too. Its not a speed that you will notice that ...


15

Have you seen the following tutorials in the joomla documentation? http://docs.joomla.org/J2.5:Creating_a_simple_module http://docs.joomla.org/J3.3:Creating_a_simple_module In particular, make sure you look at all the articles in the series. http://docs.joomla.org/J3.3:Creating_a_simple_module/Introduction http://docs.joomla.org/J3.3:...


14

There's actually an easier solution to your problem. Any sane template (including all templates that come with the Joomla CMS) will set the lang attribute on the HTML element. This enables you to use the CSS :lang() pseudo-selector. You're example would look like this: li.artist:lang(en):before {content:"Artist: "} li.artist:lang(it):before {content:"...


12

Each extension provider creates their own update server which is specified in the manifest file included with the extension. Here is the Joomla! documentation on deploying an update server. While this sounds complicated, it is actually really simple. At it's most basic, the server consists of an XML file that tells Joomla! where to find each available ...


12

If you use a custom template (or you write your own) you can easily remove the generator tag by putting the following code at the top of your template's index.php file. $this->setGenerator(null);


11

I think you have two different questions here. In my opinion (IANAL) it is perfectly fine to create this "Quick Start" Joomla packages that include these extensions and keys for your own use, but it starts to get grey when you distribute them to others. The code of a Joomla extension itself must be GPL, and is therefore able to be distributed freely. The ...


10

So technically you start transitioning to the new MVC classes now - there's nothing stopping you. For example com_config in Joomla core is already using the new MVC classes. However as you probably know the Jxxx classes are pretty much empty so a lot of the work will be putting in the same level of code as in the current JxxxLegacy classes. This will mean ...


9

So I just spent the day setting up PHPStorm for the purpose of component development. Although it was a bit of work, now that I've finished the setup my life is going to be SOOOO much easier. I don't have a tutorial to point you to, but here is the step-by-step for setting up PHPStorm with Git, VirtualBox, Vagrant, and Joomlatools/box Install PHPStorm ...


9

You can create a system plugin to handle all the request to your custom component before sending control to the component. Use onAfterRoute event to perform all the access checking. function onAfterRoute() { $user = JFactory::getUser(); $groups = $user->groups; $jinput = JFactory::getApplication()->input; $option = $jinput->get('option', '...


8

One main thing which you have pointed out is SQL Injection. This is one thing which a few people I've seen seem to miss completely and start developing using non Joomla coding standards and start writing SQL queires using mysql_* commands. Second thing which I kind of mentioned in the first point, which is always stick to Joomla coding standards. The only ...


8

I can recommend the official doc page. There is a section for developers which includes also tutorials. http://docs.joomla.org/Portal:Developers David Hurley is currently doing a series of short videos which explain how to develop various things. http://dbhurley.com/jd101-joomla-development-tutorial-series/ The API page is a good ressource as well. http://...


8

You firstly need to ensure the developer has used the correct approach for importing the CSS file, using JHtml, like so: JHtml::_('stylesheet', 'mod_module/style.css', ['relative' => true]); The key to this, is the true argument. If this isn't defined or is false, then the override isn't possible. The true argument means the path is relative to the /...


7

I must admit that switching from Eclipse to PhpStorm is not the easiest (as the whole IDE is quite different) thing but it's worth the effort. You cannot have multiple projects opened in the same IDE window, and also the Git client is not as good as the one in Eclipse (actually I find it so poor, that I am using git only from the console now). But apart ...


7

Following the official documentation, here are some steps on the topic Secure coding guidelines: Validate any data you get from the request (POST, GET, COOKIES, etc.). Don't trust the user and be as strict as possible. If you expect an integer, don't allow a string to be accepted. File uploads - avoid, whenever possible, accepting file on public web pages. ...


7

Previous answers are comprehensive about Joomla Core MVC. As an alternative MVC for Joomla, FOF https://www.akeebabackup.com/documentation/fof/introducing-fof.html#what-is-fof https://github.com/akeeba/fof What is FOF FOF (Framework on Framework) is a rapid application development framework for Joomla!. Unlike other frameworks it is not standalone. It ...


7

The best way would be to use the media folder. So, you will firstly need to create a folder called media in your module folder. Note: This folder should be created before installing, not after. The inside the media folder, create 2 sub folders, css and js. This isn't required but it's just nicer to keep things separate. Then add the following to your XML ...


7

Did you try the class name without underscores? "plgSystemNotifierInstallerScript" (or possibly "plgSystemnotifierInstallerScript" not sure) That seems to be the format the two plugins I checked use.


7

Theres a whole Questions and Answers category in the JED including: JE Stack Exchange (free) JE Stack Exchange Pro (paid) Minitek Discussions Pro (paid) which seem to have the basic functionality of Stack Exchange.


6

Maybe try disabling FTP at Global Configuration -> Server. You may have a file ownership issue rather than a file permission issue. Changing to appropriate PHP file handler can sometimes help. There is a more complete answer at: Recommended practices regarding Joomla file/directory permissions and ownership on linux systems?


6

I believe if it's GPL then you're allowed to do that, but I always check the developer's site to see if they have restrictions. Many of them only support 1 domain, others don't care. I tend to put JCE on everything I build (including the paid plugins). I also validate Rocket Theme's updater on sites that use a Rocket theme, but for other plugins, I tend to ...


6

If you are worried about the speed of your website because of disabled extensions - then you are worrying about the wrong thing... Get a decent webhost and the milliseconds your site consumes because of disabled plugins will be a non-issue. Also just cause you have disabled it in Joomla doesn't mean it cannot be accessed directly by URL, and any security ...


6

No. They do not slow down performance of your website.


6

I think to truly answer this question, you need to be extensively familiar with both WP and Joomla!. I'm Joomla! heavy and have only used WP a few times, so my answer may not be as full as you might hope. WP is first and foremost, a blogging platform. It's set up for feeds of data. You have to go out of your way to move past the feed default to get a ...


6

You have 3 options here. Option 1: As you have already mentioned, you can install everything as 1 package, however it's not really the most efficient method. This method is useful for extensions which have dependencies, but your package of extensions will have to be installed or uninstalled as a bundle, but not separately. Option 2: You can install ...


6

Joomla 3.x ships with the files for Bootstrap 2, and due to backward compatibility this is not likely to change in Joomla 3.x series. It's important to know that Bootstrap consists of two main areas: The CSS files The JavaScript framework CSS Joomla has those files included both as source LESS files and compiled CSS files. Joomla itself doesn't load any ...


6

An extension can either be a plugin or a module. It can't be both. That's due to the way modules and plugins are handled. However you can build the two extensions and package them together and distribute as one zipfile. See http://docs.joomla.org/Package for some documentation how packages work.


6

This can be done with most templates. There's usually setting that lets you turn OFF the component function, hiding the main body. At that point it's just a page filled with modules. But even if you don't turn that off, you can turn off every module including the menu for the front page menu item and you'll end up with just a blank article. Stick 3 buttons ...


Only top voted, non community-wiki answers of a minimum length are eligible