14

我创建了一些简码元素。现在我想自定义后端编辑器中元素的外观。

从 VC-Pagebuilder wiki 的描述中,我知道我可以为此使用“custom_markup”参数。

对于简单的 html,它可以正常工作。但我无法在短代码后端元素中显示用户输入。

<?php
    add_shortcode('simpletext', 'simpletext_shortcode');
    add_action('vc_before_init', 'simpletext_vc');

    // Frontend output

    function simpletext_shortcode($atts, $content = '') {
      ob_start();
      set_query_var('content', $content);
      get_template_part('components/content', 'simpletext');
      return ob_get_clean();
    }

    // Backend
    function simpletext_vc() {
      vc_map(array(
        "name" => "Einfacher Text",
        "base" => "simpletext",
        "class" => "",
        "icon" => get_template_directory_uri() ."/images/vc_icons/simpletext_icon.png", 
    "custom_markup" => '{{ content }}', // try to display the user input
    "category" => "Text",
    "params" => array(
      array(
        "param_name" => "content",
        "heading" => "Inhalt",
        "description" => "Inhalt des Elements.",
        "holder" => "div",
        "type" => "textarea_html"
      )
    )
   ));
  }
?>

我很感激任何帮助。

4

1 回答 1

0

在 Page Builder 中,它们的旧版本非常相似,您可以使用admin_label每个参数的真值或假值来显示用户关闭弹出窗口后输入的值。在这种情况下也可能有效。

像这样的东西:

"params" => array(
      array(
        "param_name" => "content",
        "heading" => "Inhalt",
        "description" => "Inhalt des Elements.",
        "holder" => "div",
        "type" => "textarea_html",
        "admin_label" => true
      )
    )
于 2021-12-04T13:57:40.453 回答