-2
我想讓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;
}
你懂的URL參數是什麼? – gview
@gview這與它有什麼關係?他正在討論'$ settings'數組中的參數。 – Barmar
這是一個微不足道的問題,看起來好像這是其中一個人試圖改變他們沒有寫和不明白的代碼,但我明白了你的觀點。我專注於問題的第一句話。我很難理解某人如何通過一系列設置,在其中顯示帶有switch語句的代碼,但不知道如果其他人是什麼。 – gview