.. ================================================== .. ================================================== .. ================================================== .. Header hierarchy .. == .. -- .. ^^ .. "" .. ;; .. ,, .. .. --------------------------------------------used to the update the records specified ------ .. Best Practice T3 reST: https://docs.typo3.org/m/typo3/docs-how-to-document/master/en-us/WritingReST/CheatSheet.html .. Reference: https://docs.typo3.org/m/typo3/docs-how-to-document/master/en-us/WritingReST/Index.html .. Italic *italic* .. Bold **bold** .. Code ``text`` .. External Links: `Bootstrap `_ .. Internal Link: :ref:`downloadButton` (default url text) or :ref:`download Button` (explicit url text) .. Add Images: .. image:: ./Images/a4.jpg .. .. .. Admonitions .. .. note:: .. important:: .. tip:: .. warning:: .. Color: (blue) (orange) (green) (red) .. .. Definition: .. some text becomes strong (only one line) .. description has to indented .. -*- coding: utf-8 -*- with BOM. .. include:: Includes.txt .. _`CodingGuideline`: Coding Guideline ================ The following is not mandatory but shows some best practices: Constants --------- * Define constants in ``Extensions > QFQ > Custom > ...`` * Dynamic values under ``Extensions > QFQ > Dynamic > ...`` QFQ content record ------------------ * Name the record in the header field with: * Regular content: ``[QFQ] ...`` * Content in the left column: ``[QFQ,L] ...`` * Content in englisch: ``[QFQ,E] ...`` * The first lines should be comments, explaining what the record does and list all passed variables. Optional variables are indicated by using STORE_EMPTY or STORE_ZERO:: # # Shows list of Persons living in {{country:SE}} # # {{country:SE}} # * A good practice is to define all possible STORE_SIP Parameter in a SQL at the beginning and copy them to STORE_RECORD:: 10 { # Normalize variables sql = SELECT '{{country:SE}}' AS _country # List selected persons per country 20.sql = SELECT p.name FROM Person AS p WHERE p.country LIKE '{{country:R}}' } * Always comment the queries like shown above. QFQ Form -------- * Mandatory SIP parameter should to be mentioned in Form.requiredNew and/or Form.requiredEdit. * If the title of a FormElement isn't descriptive enough, use tooltip, note or extraButtonInfo to explain to a user. * Every Form should show a descriptive title to identify the task and current record. E.g. Not 'Person' but 'Person: John Doe'. * Often the length of a pill title if not sufficient, use a tooltip to give a more descriptive hint.