Wie postet man Code-Ausschnitte in diesem Forum

  • Manchmal möchte man Quellcode-Ausschnitte (PHP, JavaScript, HTML, XML und andere) seiner Frage oder Antwort in diesem Forum hinzufügen.

    Dafür verwendet man den Code-Button des Editors, damit andere den Code-Block leichter lesen können.

    grauer

    Ein solcher Block erhält dadurch automatisch Zeilennummern und eine gut lesbare Monospace-Schriftart, Einrückungen bleiben erhalten, im normalen Text u.U. "verbotener" Code wird nicht rausgefiltert oder verändert und, wenn es mal sehr viele Zeilen sind, zeigt die Forums-Software automatisch eine "Alles Anzeigen"-Schaltfläche an, mit der man diese aus- und einblenden kann.

    Andere können den Code-Block viel besser lesen und bei Bedarf mit einem einzelnen Klick kopieren.

    Wie? Ganz einfach:

    - Den Cursor im Editor an die Stelle setzen, wo man einen Code-Block einfügen möchte.

    - Den Code-Button klicken.

    - Es erscheint ein vorbereitetes Feld mit Überschrift "Quellcode".

    - Code reinkopieren und fertig.

    Richtig gemacht:

    Falsch gemacht:

    <?php

    defined('_JEXEC') or die;

    $form = $displayData->getForm();

    $fields = $displayData->get('fields') ?: array(

    'publish_up',

    'publish_down',

    'featured_up',

    'featured_down',

    array('created', 'created_time'),

    array('created_by', 'created_user_id'),

    'created_by_alias',

    array('modified', 'modified_time'),

    array('modified_by', 'modified_user_id'),

    'version',

    'hits',

    'id'

    );

    $hiddenFields = $displayData->get('hidden_fields') ?: array();

    ?>

    <div class="row">

    <?php

    foreach ($fields as $field) {

    foreach ((array) $field as $f) {

    if ($form->getField($f)) {

    if (in_array($f, $hiddenFields)) {

    $form->setFieldAttribute($f, 'type', 'hidden');

    } ?>

    <div class="col">

    <?php

    echo $form->renderField($f, $group = null, $default = null,

    $options = ['class' => 'wurst']);

    ?>

    </div>

    <?php

    break;

    }

    }

    } ?>

    </div>