Entwickler - Bausteine erstellen
Grundlegend ist ein Baustein ein Platzhalter für ein schon vorhandenes Control.
Um in deinem Modul / Plugin Bausteine zur Verfügung zu stellen erstelle zu erst eine bricks.xml
Datei in deinem Root Verzeichnis deines Plugins.
Copy-Paste Vorlage
Hier findest du eine Vorlage, die du direkt kopieren und vervollständigen kannst.
Einfach alle <EDIT>
Tags editieren und loslegen!
Besonders wichtig ist, dass Sie bei dem Eintrag control="<EDIT>"
ein vorhandenes Control einfügen.
Bedenken Sie dabei dass der Namespace korrekt sein muss. Ein Beispiel dafür ist: control="\PCSG\Steemit\Holmes\Controls\BlockDataList"
Zusätzlich muss bei den Text Variablen (Titel, Beschreibung etc.) unbedingt eine Lokale eingefügt werden. Anderenfalls wird Ihr Baustein nicht in der Baustein Liste aufzufinden sein.
<?xml version="1.0" encoding="UTF-8"?>
<quiqqer>
<bricks>
<brick control="<EDIT>" hasContent="<OPTIONAL>">
<title>
<locale group="<EDIT>" var="<EDIT>"/>
</title>
<description>
<locale group="<EDIT>" var="<EDIT>"/>
</description>
<settings>
<setting name="<EDIT>" type="<EDIT>">
<locale group="<EDIT>" var="<EDIT>"/>
</setting>
</settings>
</brick>
</bricks>
</quiqqer>
Aufbau
Die bricks.xml
ist nach einem simplen Prinzip aufgebaut.
Das Grundgerüst ist das folgende:
<?xml version="1.0" encoding="UTF-8"?>
<quiqqer>
<bricks>
</bricks>
</quiqqer>
Innerhalb des <bricks>
Tags können nun beliebig viele Bricks definiert werden.
Diese Definitionen folgen einem ebenso simplem Schema:
<brick control="\QUI\Controls\LangSwitch">
<title>
<!-- Titel des Bricks -->
<!-- Locale Tag ist möglich -->
</title>
<description>
<!-- Beschreibung des Bricks -->
<!-- Locale Tag ist möglich -->
</description>
<settings>
<!-- Settings des Bricks -->
<setting name="<!-- Settingname -->" type="<!-- Input typ des Settings -->">
<!-- Angezeigter Name in der Oberfläche -->
<!-- Locale Tag ist möglich -->
</setting>
<setting name="<!-- Settingname -->" type="<!-- Input typ des Settings -->">
<!-- Angezeigter Name in der Oberfläche -->
<!-- Locale Tag ist möglich -->
</setting>
</settings>
</brick>
Beispiel
Hier findest du ein recht umfassendes Beispiel einer bricks.xml
<?xml version="1.0" encoding="UTF-8"?>
<quiqqer>
<bricks>
<!-- available standard bricks -->
<brick control="\QUI\Controls\Breadcrumb" hasContent="0">
<title>
<locale group="quiqqer/bricks" var="brick.control.breadcrumb.title"/>
</title>
<description>
<locale group="quiqqer/bricks" var="brick.control.breadcrumb.description"/>
</description>
</brick>
<!-- simple contact form -->
<brick control="\QUI\Bricks\Controls\SimpleContact">
<title>
<locale group="quiqqer/bricks" var="brick.control.simpleContact.title"/>
</title>
<description>
<locale group="quiqqer/bricks" var="brick.control.simpleContact.description"/>
</description>
<settings>
<setting name="mailTo">
<locale group="quiqqer/bricks" var="brick.control.simpleContact.mailTo"/>
</setting>
</settings>
</brick>
<brick control="\QUI\Controls\LangSwitch">
<title>
<locale group="quiqqer/bricks" var="brick.control.langSwitch.title"/>
</title>
<description>
<locale group="quiqqer/bricks" var="brick.control.langSwitch.description"/>
</description>
<settings>
<setting name="showFlags" type="checkbox">
<locale group="quiqqer/bricks" var="brick.control.navigation.setting.showFlags"/>
</setting>
<setting name="showText" type="checkbox">
<locale group="quiqqer/bricks" var="brick.control.navigation.setting.showText"/>
</setting>
<setting name="DropDown" type="checkbox">
<locale group="quiqqer/bricks" var="brick.control.navigation.setting.DropDown"/>
</setting>
</settings>
</brick>
<brick control="\QUI\Bricks\Controls\SocialBox">
<title>
<locale group="quiqqer/bricks" var="bricks.SocialBox.title"/>
</title>
<description>
<locale group="quiqqer/bricks" var="bricks.SocialBox.description"/>
</description>
<settings>
<setting name="title">
<locale group="quiqqer/bricks" var="SocialBox.title"/>
</setting>
<setting name="socialList" data-qui="package/quiqqer/bricks/bin/Controls/SocialBox">
<locale group="quiqqer/bricks" var="SocialBox.socialList"/>
</setting>
</settings>
</brick>
<!-- Children Listing Slider -->
<brick control="\QUI\Bricks\Controls\Children\Slider">
<title>
<locale group="quiqqer/bricks" var="brick.control.slider.title"/>
</title>
<description>
<locale group="quiqqer/bricks" var="brick.control.slider.description"/>
</description>
<settings>
<setting name="site" data-qui="controls/projects/project/site/Select">
<locale group="quiqqer/bricks" var="brick.control.setting.site"/>
</setting>
<setting name="order" type="select">
<locale group="quiqqer/bricks" var="brick.control.setting.order"/>
<option value=""/>
<option value="name ASC">
<locale group="quiqqer/system" var="name_asc"/>
</option>
<option value="name DESC">
<locale group="quiqqer/system" var="name_desc"/>
</option>
<option value="title ASC">
<locale group="quiqqer/system" var="title_asc"/>
</option>
<option value="title DESC">
<locale group="quiqqer/system" var="title_desc"/>
</option>
<option value="c_date ASC">
<locale group="quiqqer/system" var="c_date_asc"/>
</option>
<option value="c_date DESC">
<locale group="quiqqer/system" var="c_date_desc"/>
</option>
<option value="e_date ASC">
<locale group="quiqqer/system" var="e_date_asc"/>
</option>
<option value="e_date DESC">
<locale group="quiqqer/system" var="e_date_desc"/>
</option>
<option value="release_from ASC">
<locale group="quiqqer/system" var="release_from_asc"/>
</option>
<option value="release_from DESC">
<locale group="quiqqer/system" var="release_from_desc"/>
</option>
<option value="order_field ASC">
<locale group="quiqqer/quiqqer" var="order_field_asc"/>
</option>
<option value="order_field DESC">
<locale group="quiqqer/quiqqer" var="order_field_desc"/>
</option>
</setting>
<setting name="limit" type="number" min="1">
<locale group="quiqqer/bricks" var="brick.control.setting.limit"/>
</setting>
<setting name="moreLink" data-qui="controls/projects/project/site/Input">
<locale group="quiqqer/bricks" var="brick.control.setting.moreLink"/>
</setting>
</settings>
</brick>
<brick control="\QUI\Bricks\Controls\Slider\Promoslider">
<title>
<locale group="quiqqer/bricks" var="brick.control.promoslider.title"/>
</title>
<description>
<locale group="quiqqer/bricks" var="brick.control.promoslider.description"/>
</description>
<settings>
<setting name="pagefit" type="checkbox">
<locale group="quiqqer/bricks" var="brick.control.promoslider.pagefit"/>
</setting>
<setting name="pagefitcut" type="number">
<locale group="quiqqer/bricks" var="brick.control.promoslider.pagefitcut"/>
</setting>
<setting name="pagefitcutmobile" type="number">
<locale group="quiqqer/bricks" var="brick.control.promoslider.pagefitcutmobile"/>
</setting>
<setting name="image-as-wallpaper" type="checkbox">
<locale group="quiqqer/bricks" var="brick.control.promoslider.image-as-wallpaper"/>
</setting>
<setting name="autostart" type="checkbox">
<locale group="quiqqer/bricks" var="brick.control.promoslider.settings.autostart"/>
</setting>
<setting name="delay" type="number">
<locale group="quiqqer/bricks" var="brick.control.promoslider.settings.delay"/>
</setting>
<setting name="shownavigation" type="checkbox">
<locale group="quiqqer/bricks" var="brick.control.promoslider.settings.shownavigation"/>
</setting>
<setting type="select" name="image-wallpaper-position">
<locale group="quiqqer/bricks" var="brick.control.promoslider.image-wallpaper-position"/>
<option value=""/>
<option value="top-left">
<locale group="quiqqer/system" var="watermark.position.top.left"/>
</option>
<option value="top">
<locale group="quiqqer/system" var="watermark.position.top"/>
</option>
<option value="top-right">
<locale group="quiqqer/system" var="watermark.position.top.right"/>
</option>
<option value="left">
<locale group="quiqqer/system" var="watermark.position.left"/>
</option>
<option value="center">
<locale group="quiqqer/system" var="watermark.position.center"/>
</option>
<option value="right">
<locale group="quiqqer/system" var="watermark.position.right"/>
</option>
<option value="bottom-left">
<locale group="quiqqer/system" var="watermark.position.bottom.left"/>
</option>
<option value="bottom">
<locale group="quiqqer/system" var="watermark.position.bottom"/>
</option>
<option value="bottom-right">
<locale group="quiqqer/system" var="watermark.position.bottom.right"/>
</option>
</setting>
<setting type="select" name="navigation-position">
<locale group="quiqqer/bricks" var="brick.control.promoslider.settings.navigation-position"/>
<option value="outer">
<locale group="quiqqer/bricks" var="brick.control.promoslider.navigation-position-outer"/>
</option>
<option value="inner">
<locale group="quiqqer/bricks" var="brick.control.promoslider.navigation-position-inner"/>
</option>
</setting>
<setting name="desktopslides" type="hidden"
data-qui="package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettings"
>
<locale group="quiqqer/bricks" var="brick.control.promoslider.settings.desktopslides"/>
</setting>
<setting name="mobileslides" type="hidden"
data-qui="package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettings"
>
<locale group="quiqqer/bricks" var="brick.control.promoslider.settings.mobileslides"/>
</setting>
</settings>
</brick>
</bricks>
</quiqqer>