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 PHP-sablon felépítése
Szekció neve “A PHP-sablon felépítése”A get_layout() által hivatkozott fájl egy PHP-sablon, amely az elem HTML-jét állítja elő. A menete:
- Biztonsági őr a fájl elején:
defined('ABSPATH') || exit; - Ha nincs
$args['element'], a sablon visszatér. - Az elem adatai:
$element = $args['element']; $data = $element['data']; - A stílusok összeállítása a
\YayMail\Utils\TemplateHelperssegédfüggvényeivel. - A szövegek feldolgozása
do_shortcode()-dal. - A HTML felépítése kimenet-pufferelés (
ob_start()/ob_get_clean()) között. - A kész tartalom becsomagolása a
TemplateHelpers::wrap_element_content( $tartalom, $element, $wrapper_style )hívással.
<?phpdefined( '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><?phpTemplateHelpers::wrap_element_content( ob_get_clean(), $element, $wrapper_style );Fontos szabályok
Szekció neve “Fontos szabályok”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égesstyleattribú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:
- A szkript betöltése. Az
admin_enqueue_scriptsakcióban, ayaycommerce_page_yaymail-settingsoldalon (és csak ha aWC_Emailsosztá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, areactésreact-domfüggőséggel. - A szerkesztő regisztrálása. A
yaymail-loadedeseményben hívd aregisterAddonCustomPropertyEditor()függvényt egyname(kötelezőenaddon_előtaggal kezdődik) és egycomponentértékkel. - A komponens megírása. A komponens megkapja a mező
datatulajdonságát (value_path,title,default_value,extras_data). Az érték módosításához azupdateChosenElementData()függvényt hívja, amely avalue_pathhelyére írja az új értéket, a módosítás neve a mező címe lesz.
Készült: