Search

A new extension, "Site Preferences" is now available for download. Comments and feedback can be left here but if you discover any issues, please post it on the issue tracker.

Site preferences offer a way to manage custom front-end settings in the backend. You define all settings in a separate configuration file inside your workspace, preferences.site.php. This way all preferences can be tracked with Git in case you share your workspace with co-workers.

Site preferences allow the creation of multiple fieldsets shown on the preference page in the backend. Each fieldset can contain multiple instances of the following field types:

  • input fields,
  • text areas,
  • select boxes,
  • checkboxes and
  • help texts

The extension will return all settings as parameters on the front-end.

Default Configuration:

<?php
    $settings = array(

        ###### FIELDSET: SITE PREFERENCES ######
        array(
            'name' => 'Site Preferences',
            'fields' => array(
                array(
                    'name' => 'textarea',
                    'label' => 'This is a textarea',
                    'type' => 'textarea',
                    'value' => '',
                ),
                array(
                    'name' => 'input',
                    'label' => 'This is an input field',
                    'type' => 'input',
                    'value' => '',
                ),
                array(
                    'name' => 'selectbox',
                    'label' => 'Select something',
                    'type' => 'select',
                    'values' => 'this, is, a, selection, list',
                    'value' => '',
                ),
            )
        ),
        ########

        ###### FIELDSET: MORE PREFERENCES ######
        array(
            'name' => 'More preferences',
            'fields' => array(
                array(
                    'type' => 'help',
                    'value' => 'This is just another group of settings added to the preference page. You can edit all fields and fieldset in the &lt;code&gt;preferences.site.php&lt;/code&gt; file inside your &lt;code&gt;workspace&lt;/code&gt;.',
                ),
                array(
                    'name' => 'checkbox',
                    'label' => 'Yes, I've read that!',
                    'type' => 'checkbox',
                    'value' => 'checked',
                ),
            )
        ),
        ########
    );

Example Parameter output

$sp-site-preferences-textarea
$sp-site-preferences-input
$sp-site-preferences-selectbox
$sp-more-preferences-checkbox

<params>
    <sp-site-preferences-textarea />
    <sp-site-preferences-input />
    <sp-site-preferences-selectbox />
    <sp-more-preferences-checkbox>Yes</sp-more-preferences-checkbox>
</params>

Site Preferences updated to version 1.0.1 on 17th of January 2012

Thanks, hana+nils. This looks like it will be very useful.

Just a quick note: For the Repository URL on the Site Preferences extension page, I think it would be better to have the URL to the GitHub page than the git clone URL.

Thanks, Stephen. I just changed the URL.

Site Preferences updated to version 1.3 on 22nd of November 2013

As of version 1.3, it's possible to associate settings with sections by defining the section handle in the fieldset array. These preferences will additionally be editable in a custom drawer in the specified section's index.

Drawer Screenshot

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details