我希望html的输出根据用户可以设置的参数返回两个可能的标记。用户可以通过添加text_mode
或basic
来定义参数advanced
。
现在,$output
设置为进行测试,以显示用户的字符串包含在<p>
中的基本版本。如果text_mode
设置为高级,则表示未包装。
<?php
function PCHiddenTextBlock( $settings = array() ) {
//---- Get Settings ----
//The functions default settings will be merged with what's passed in.
$settingsDefault = array(
'small_heading' => '',
'text' => '',
'text_mode' => 'basic', //or advanced
'color_scheme' => 'accent4',//accent4 or accent1
'container_id' => '',
'container_class' => 'x_extraContent',
);
$settings = array_merge($settingsDefault, $settings);
//---- Set Variables ----
//These will allow the markup build up to be as clean as possible.
//If container_id is set, prepare the attribute
$has_container_id = strlen($settings['container_id']) > 0;
$possible_container_id_attribute = ($has_container_id) ? " id='{$settings['container_id']}'" : "";
//Color scheme variables
switch($settings['color_scheme']) {
case 'accent1':
$gcol_color_class = 'bg-color-accent1-C';
$color_accent_class = 'color-accent1-8';
$hover_color_class = 'hover-color-base-4';
break;
default: //accent4
$gcol_color_class = 'bg-color-accent4-D';
$color_accent_class = 'color-accent4-A';
$hover_color_class = 'hover-color-base-4';
}
//---- Build Output ----
//Line by line, concatenating strings with new line and tab characters.
$output = "\n<!-- Hidden Text Block -->";
$output .= "\n<div class='{$settings['container_class']} gcol-1 {$gcol_color_class}'{$possible_container_id_attribute}>";
$output .= "\n\t<div class='padbox-standard-content'>";
$output .= "\n\t\t<h2 class='small-heading color-accent1-9'>{$settings['small_heading']}</h2>";
$output .= "\n\t\t<p>{$settings['text']}</p>"; // basic version
$output .= "\n\t\t<a href='' class='x_extraContentClose box-close-icon {$color_accent_class} {$hover_color_class}'></a>";
$output .= "\n\t</div><!-- padbox-standard-content-->";
$output .= "\n</div><!-- Hiddent Text Block -->";
//---- Return Output ----
return $output;
}
答案 0 :(得分:2)
只需使用if
声明:
if ($settings['text_mode'] == 'basic') {
$output .= "\n\t\t<p>{$settings['text']}</p>"; // basic version
} else {
$output .= "\n\t\t{$settings['text']}<"; // advanced version
}