Tovább a tartalomhoz

Fejlesztőknek: az elem osztálya és alapadatai

A BaseElement osztály, a get_data() és get_layout() metódus, és az elemek mezőtípusai.

Az elem PHP-oldali osztálya a YayMail \YayMail\Abstracts\BaseElement osztályából öröklődik.

class NewElement extends \YayMail\Abstracts\BaseElement {
protected static $type = 'new_element'; // ezzel ismeri fel a JavaScript
private static $instance;
public $available_email_ids = [ YAYMAIL_ALL_EMAILS ];
public static function instance() {
if ( null === static::$instance ) {
static::$instance = new static();
}
return static::$instance;
}
public static function get_data( $attributes = [], $folder_parent = null ) { /* adatok */ }
public static function get_layout( $element_data, $args ) { /* megjelenítés */ }
}
  • $type: az elem azonosítója. Ugyanezt add meg a szerkesztő oldali registerElement() hívásban.
  • $available_email_ids: mely e-mail sablonokban érhető el az elem. A YAYMAIL_ALL_EMAILS minden sablont jelent.

A get_data(): az alapértelmezett adatok

Szekció neve “A get_data(): az alapértelmezett adatok”

A metódus egy tömböt ad vissza az elem alapadataival:

Kulcs Jelentés
id Egyedi azonosító (uniqid()).
type Az elem típusa (self::$type).
name Az elem neve az elempanelen.
icon Az elem ikonja (self::$icon).
group Melyik csoportban jelenik meg az elempanelen (például woocommerce, vagy saját csoport).
available Elérhető-e az elem (true).
integration default a beépített, 3rd a külső elemeknél.
position A sorrend az elempanelen.
data Az elem szerkeszthető tulajdonságai.

A data minden tulajdonsága egy tömb ezekkel a kulcsokkal: value_path (hol tárolódik az érték), component (milyen szerkesztőmezővel állítható), title (a mező felirata), default_value (alapérték), és ha kell, extras_data (például min, max, unit, options).

Component Mire használd Alapérték formája
Spacing Térköz (padding) vagy lekerekítés (border_radius) top, right, bottom, left (lekerekítésnél top_left, top_right, bottom_right, bottom_left)
Align Igazítás például center
Dimension Szélesség, magasság, ikonméret szám; extras_data: min, max, unit
NumberInput Szám, például szegélyvastagság szám; min, max
Color Szín (szöveg, háttér, szegély, cím, gomb) színkód; beépített alapértékek: YAYMAIL_COLOR_TEXT_DEFAULT, YAYMAIL_COLOR_BACKGROUND_DEFAULT, YAYMAIL_COLOR_BORDER_DEFAULT, YAYMAIL_COLOR_WC_DEFAULT
BackgroundImage Háttérkép url, position, x_position, y_position, repeat, size
FontFamilySelector Betűcsalád YAYMAIL_DEFAULT_FAMILY
Selector Legördülő választó extras_data.options: label és value párok (például a szegélystílus: solid, double, dotted, dashed)
TextInput Egysoros szöveg (cím, URL, gombszöveg) szöveg
RichTextEditor Formázható szöveg, shortcode-okkal HTML vagy szöveg, például [saját_shortcode]
Dimensions Tartalom szélessége szám
DividerTypeSelector Elválasztó vonal típusa solid, double, dotted, dashed
SocialIconThemeSelector Közösségi ikonok témája például Colorful
SocialList Közösségi ikonok listája icon és url párok
ImageBox Kép és szöveg két oszlopban column_1 (kép, szélesség, igazítás, URL, térköz), column_2 (szöveg, betűcsalád, térköz)
ImageList Három képoszlop oszloponként align, padding, image, width, background_color, url

Az alapértelmezett gombszöveg például ORDER NOW, az URL-ek alapértéke #.

A metódus megmondja, melyik PHP-sablon rajzolja ki az elemet az e-mailben. A sablon útvonalát a yaymail_get_content() függvénynek adod át:

public static function get_layout( $element_data, $args ) {
$path = __DIR__ . '/views/new-element.php';
return yaymail_get_content( $path, array_merge( [ 'element' => $element_data ], $args ) );
}

A yaymail_get_content() három paramétert fogad: $path (kötelező, a sablon útvonala), $args (alapból üres, a sablonnak átadott adatok) és $root (alapból a YayMail bővítmény útvonala). A sablon tartalmát az Az elem megjelenítése az e-mailben fejezet írja le.

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