1

a few years ago, I implemented a Joomla 3 instance for a website of a biking club. It was nearly not used since then, because there was no necessity. But now we have the necessity.

Back then, I developed a small module just for displaying DropDown lists, under which a few PDF files were listed for download. The module had - hardcoded - some paths under which it should collect the PDF files.

Now, what we want is pretty simple. We want to define ourselves, on the Joomla side (not on the website frontend), where the module should look for the PDF files. So logically, it should look like this:

Year: 2018
Description: Lists of 2018 race
Path: website\downloads\race_lists\2018\
FileTypes: *
display: yes

Year: 2023
Description: Lists of 2023 race (not yet published)
Path: website\downloads\race_lists\2023\
FileTypes: PDF
display: no

... and so on

Practically, this should resolve in form fields on the Joomla Module config site, where we can choose those parameters years, paths, file types etc.

Since I have not worked very much with Joomla, maybe someone can tell me if it is possible (and how), before I invest plenty of hours in research.

1 Answer 1

1

In the manifest file, mod_yourmodule.xml, for your module you specify the <config> element and put the details of the field(s) that you want to store the details of your pdf archives.

<config>
    <fields name="params">
        <fieldset name="basic" >
            <field name="folder_source"
             ...
            </field>
      </fieldset>
    </fields>
</config>

The list of available field types can be found here, https://docs.joomla.org/Special:MyLanguage/Standard_form_field_types

And in particular you might want to look at a field type of subforms, https://docs.joomla.org/Subform_form_field_type, that will allow you to handle multiple fields per folder per year.

In your module code you would get the values set from the parameters of your module.

$params = $this->params;
$folder = $params->get('folder_source');

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.