Project Settings
Project settings are package-defined settings that are stored per project and shown in the project settings panel.
Use project settings when a value belongs to a website, language, template, or project output. Use normal package settings when the value belongs to the whole installation.
XML Structure
Project settings are declared in settings.xml below quiqqer/project/settings.
<?xml version="1.0" encoding="UTF-8"?>
<quiqqer>
<project>
<settings>
<config>
<section name="website">
<conf name="nocache">
<type><![CDATA[bool]]></type>
<defaultvalue>0</defaultvalue>
</conf>
</section>
</config>
<window>
<categories>
<category name="package-settings">
<text>Package Settings</text>
<icon>fa fa-cube</icon>
<settings title="Package Settings" name="package-settings">
<input conf="website.nocache" type="checkbox">
<text>Disable cache</text>
</input>
</settings>
</category>
</categories>
</window>
</settings>
</project>
</quiqqer>QUIQQER reads project settings XML from installed packages and from the project directory itself. Package files are checked at:
OPT_DIR/vendor/package/settings.xmlProject-local settings can be placed at:
USR_DIR/project-name/settings.xmlConfig Values
Configuration values use the same <section> and <conf> structure as package settings.
<config>
<section name="templatePresentation.settings">
<conf name="showTitle">
<type><![CDATA[bool]]></type>
<defaultvalue>0</defaultvalue>
</conf>
</section>
</config>The resulting setting key is built from section and configuration name, for example templatePresentation.settings.showTitle.
If the <settings> element has a name attribute, that name is prefixed to the generated setting keys.
Settings Window
Use window/categories/category to expose settings in the project settings UI. Inputs reference config values through the conf attribute.
<input conf="website.nocache" type="checkbox">
<text>
<locale group="vendor/package" var="project.nocache.text"/>
</text>
<description>
<locale group="vendor/package" var="project.nocache.description"/>
</description>
</input>Use locale references for public labels and descriptions.
When To Use Project Settings
Use project settings for:
- template behavior
- frontend output options
- media behavior for one project
- per-project feature toggles
- project-language-specific display behavior
Do not use project settings for installation-wide package configuration, credentials, global service configuration, or background worker settings.
Practical Checklist
Before adding project settings:
- Place them below
quiqqer/project/settings. - Use package-scoped section names.
- Provide defaults for values required by runtime code.
- Add UI categories only for settings administrators should edit.
- Use normal package settings for installation-wide values.
