Tovább a tartalomhoz

Fejlesztőknek: az elem megjelenítése az e-mailben

A layout PHP-sablon felépítése, a biztonsági szabályok és a saját tulajdonságszerkesztő.

A get_layout() által hivatkozott fájl egy PHP-sablon, amely az elem HTML-jét állítja elő. A menete:

  1. Biztonsági őr a fájl elején: defined('ABSPATH') || exit;
  2. Ha nincs $args['element'], a sablon visszatér.
  3. Az elem adatai: $element = $args['element']; $data = $element['data'];
  4. A stílusok összeállítása a \YayMail\Utils\TemplateHelpers segédfüggvényeivel.
  5. A szövegek feldolgozása do_shortcode()-dal.
  6. A HTML felépítése kimenet-pufferelés (ob_start() / ob_get_clean()) között.
  7. A kész tartalom becsomagolása a TemplateHelpers::wrap_element_content( $tartalom, $element, $wrapper_style ) hívással.
<?php
defined( 'ABSPATH' ) || exit;
use YayMail\Utils\TemplateHelpers;
if ( empty( $args['element'] ) ) { return; }
$element = $args['element'];
$data = $element['data'];
$wrapper_style = TemplateHelpers::get_style( [
'word-break' => 'break-word',
'background-color' => $data['background_color'] ?? '#fff',
'padding' => TemplateHelpers::get_spacing_value( $data['padding'] ?? [] ),
] );
$title = isset( $data['title'] ) ? do_shortcode( $data['title'] ) : '';
$content = isset( $data['rich_text'] ) ? do_shortcode( $data['rich_text'] ) : '';
ob_start();
?>
<div class="your-element">
<h2><?php echo yaymail_kses_post( $title ); ?></h2>
<div class="content"><?php echo yaymail_kses_post( $content ); ?></div>
</div>
<?php
TemplateHelpers::wrap_element_content( ob_get_clean(), $element, $wrapper_style );

Biztonság

  • Mindig legyen ott a defined('ABSPATH') || exit; sor.
  • Minden kimenetet escape-elj a megfelelő függvénnyel.
  • A bemeneti adatot tisztítsd (sanitize).

Stílus

  • TemplateHelpers::get_style(): a stílustömbből egységes style attribútumot készít.
  • TemplateHelpers::get_spacing_value(): a térköz (padding/margin) értékét adja.
  • TemplateHelpers::get_font_family_value(): a betűcsaládot adja.
  • yaymail_get_text_align(): a szövegigazítás az e-mail irányának megfelelően.

Tartalom

  • A shortcode-okat do_shortcode() dolgozza fel.
  • A HTML-tartalomhoz a yaymail_kses_post() való.
  • Összetett HTML-szerkezetnél használj kimenet-pufferelést.

Saját tulajdonságszerkesztő (hamarosan)

Szekció neve “Saját tulajdonságszerkesztő (hamarosan)”

A saját tulajdonságszerkesztővel (Custom Property Editor) egy elem beállításaihoz saját szerkesztőmezőt készíthetsz. A funkció még „hamarosan” állapotú, a lépései:

  1. A szkript betöltése. Az admin_enqueue_scripts akcióban, a yaycommerce_page_yaymail-settings oldalon (és csak ha a WC_Emails osztály létezik) töltsd be a saját belépési fájlodat a \YayMail\Utils\YayMailViteApp::get_instance()->enqueue_entry() hívással, a react és react-dom függőséggel.
  2. A szerkesztő regisztrálása. A yaymail-loaded eseményben hívd a registerAddonCustomPropertyEditor() függvényt egy name (kötelezően addon_ előtaggal kezdődik) és egy component értékkel.
  3. A komponens megírása. A komponens megkapja a mező data tulajdonságát (value_path, title, default_value, extras_data). Az érték módosításához az updateChosenElementData() függvényt hívja, amely a value_path helyére írja az új értéket, a módosítás neve a mező címe lesz.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások