Sådan implementeres en WYSIWYG-editor i Magento-systemkonfigurationen

Indholdsfortegnelse

  1. Introduktion
  2. Forstå fordelene
  3. Trin-for-trin implementering
  4. Tilpasning af WYSIWYG-editoren
  5. Konklusion
  6. Ofte stillede spørgsmål

Introduktion

Hvis du arbejder med Magento og nogensinde har spekuleret på, hvordan du erstatter et simpelt tekstfelt med en mere alsidig og brugervenlig WYSIWYG-editor i din systemkonfiguration, er du ikke alene. I denne blog-post vil vi guide dig gennem trinnene til implementering af en WYSIWYG-editor i din Magento-systemkonfiguration. Denne forvandling kan markant forbedre brugeroplevelsen for admin-brugere og gøre indholdsadministration mere strømlinet og intuitiv.

I denne indlæg vil du lære, hvorfor det er fordelagtigt at tilføje en WYSIWYG-editor til din Magento-installation, de specifikke trin, der kræves for implementering, og hvordan du tilpasser editoren til at opfylde dine behov.

Forstå fordelene

De standard tekstområder i systemkonfigurationen kan være begrænsende, især når det kommer til formatering af indhold eller nem indsat af medie. En WYSIWYG (What You See Is What You Get)-editor præsenterer en mere kraftfuld alternativ, der kommer med formateringsværktøjer, nem indsat af medie og en mere intuitiv brugerflade. Ved at implementere dette kan du opnå følgende fordele:

  1. Bedre indholdformatering: Forbedret tekstformatering, HTML-elementer og dynamisk indhold.
  2. Forbedret brugeroplevelse: Forenklet indholdsadministration for brugere med begrænset teknisk viden.
  3. Effektivitet: Hurtigere og mere konsistente opdateringer af indhold.

Nu vil vi dykke ned i de specifikke trin til at erstatte et tekstfeltsområde med en WYSIWYG-editor i din Magento-systemkonfiguration.

Trin-for-trin implementering

Trin 1: Rediger system.xml

Du starter med at redigere system.xml-filen i din brugerdefinerede modulet. Denne fil definerer konfigurationsindstillingerne i Magento-adminpanelet.

  • Gå til dit modules mappe (app/code/Vendor/Module/etc/adminhtml/system.xml).
  • Definer feltet som en WYSIWYG-editor med passende indstillinger.

Eksempel:

<field id="editor_field" translate="label comment" type="textarea" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
    <label>Indholdseditor</label>
    <frontend_model>Vendor\Module\Block\Adminhtml\System\Config\Form\Field\Editor</frontend_model>
</field>

Trin 2: Opret blokfilen

Herefter opretter du en blokfil, der vil vise WYSIWYG-editoren.

  • Gå til app/code/Vendor/Module/Block/Adminhtml/System/Config/Form/Field/Editor.php.
  • Implementer WYSIWYG-editoren i denne fil.

Eksempel:

<?php

namespace Vendor\Module\Block\Adminhtml\System\Config\Form\Field;

use Magento\Framework\Data\Form\Element\Renderer\Element as RendererElement;
use Magento\Backend\Block\Template\Context;
use Magento\Framework\Data\Form\Element\AbstractElement;


class Editor extends \Magento\Backend\Block\Template implements RendererElement
{
    public function __construct(
        Context $context,
        array $data = []
    ) {
        parent::__construct($context, $data);
    }
    
    public function render(AbstractElement $element)
    {
        $element->setWysiwyg(true);
        $element->setConfig($this->_wysiwygConfig->getConfig());
        return parent::render($element);
    }
}

Trin 3: Rediger layout-XML-filen

Opdater layout-XML-filen for at implementere ændringerne.

  • Gå til app/code/Vendor/Module/view/adminhtml/layout/adminhtml_system_config_edit.xml.
  • Tilpas filen efter behov for at inkludere WYSIWYG-editoren.

Eksempel:

<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd">
    <referenceContainer name="content">
        <block class="Vendor\Module\Block\Adminhtml\System\Config\Form\Field\Editor" name="adminhtml_system_config_edit.editor_field" />
    </referenceContainer>
</layout>

Trin 4: Kør deploymentskommandoer

Afslut opsætningen ved at køre de nødvendige Magento-kommandoer for at skylle cachen og generere den statiske indhold på ny.

php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento setup:static-content:deploy

Test din implementering

Efter at have implementeret ovenstående trin, naviger til Magento-adminpanelet og se efter den nytilføjede WYSIWYG-editor i systemkonfigurationen. Sørg for, at den fungerer som forventet, og at du kan bruge alle de værktøjer, der leveres af editoren.

Tilpasning af WYSIWYG-editoren

Standardkonfigurationen opfylder måske ikke alle dine behov, så du vil muligvis tilpasse editoren yderligere ved at justere konfigurationsindstillingerne i blokfilen. For eksempel ved at aktivere eller deaktivere visse knapper, tilføje brugerdefinerede stilarter eller integrere yderligere plugins.

Eksempel:

$element->setConfig([
    'add_variables' => false,
    'add_widgets' => false,
    'add_images' => true,
]);

Konklusion

Ved at integrere en WYSIWYG-editor i din Magento-systemkonfiguration forbedrer du markant brugeroplevelsen for admin-brugere ved at tillade rigere indholdredigeringsfunktioner. Ved at følge de beskrevne trin sikrer du en mere problemfri og intuitiv interaktion med dit admin-panel, hvilket reducerer friktionen i forbindelse med almindelige tekstområder.

Ofte stillede spørgsmål

Hvordan fjerner jeg specifikke knapper som "Indsæt widget" eller "Indsæt variabel"?

I blokfilen (Vendor/Module/Block/Adminhtml/System/Config/Form/Field/Editor.php) kan du tilpasse konfigurationen og deaktivere uønskede knapper.

Kan jeg bruge en anden WYSIWYG-editor?

Magento 2 bruger som standard TinyMCE-editoren, men du kan integrere andre redaktører ved at ændre konfigurationen og inkludere nødvendige ressourcer.

Hvad gør jeg, hvis WYSIWYG-editoren ikke indlæses?

Sørg for, at alle filer er korrekt placeret, layout-XML'en er korrekt konfigureret, og kør php bin/magento setup:static-content:deploy for at opdatere det statiske indhold.

Ved at forbedre tekstområdet til en WYSIWYG-editor giver du brugere et mere kraftfuldt værktøj til indholdsadministration, hvilket er afgørende for at opretholde en dynamisk e-handelsside. Foretag ændringen i dag og oplev forskellen i effektivitet af indholdsadministration.