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
Shopify - App image

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.