У меня есть следующая функция PHP:
protected function getFieldRow($label, $value, $encode = true)
{
if (empty($value))
{
return '';
}
return FoxHtmlElem::create()->append(FoxHtmlElem::create('dt')->classes('field-title')->text(JFilterInput::getInstance()->clean($label)))->append(FoxHtmlElem::create('dd')->classes('field-content')->html($encode ? nl2br(FoxHtmlEncoder::encode(JFilterInput::getInstance()->clean($value))) : $value))->render();
}
Что выводит в список:
<dt class="field-title">Label</dt><dd class="field-content">Value</dd>
<dt class="field-title">Label</dt><dd class="field-content">Value</dd>
<dt class="field-title">Label</dt><dd class="field-content">Value</dd>
Как я могу изменить функцию, чтобы добавить двоеточие «:«в текстовом виде в выводе, например, так:
<dt class="field-title">Label : </dt><dd class="field-content">Value</dd>
<dt class="field-title">Label : </dt><dd class="field-content">Value</dd>
<dt class="field-title">Label : </dt><dd class="field-content">Value</dd>
Почему бы вам не добавить его рядом с меткой, как:
<dt class="field-title">Label :</dt>
Вы можете сделать это путем объединения ‘:’ с меткой;
$label .= " : ";
Надеюсь это поможет!
Если бы вы поместили туда двоеточие, оно появилось бы, но за пределами правил и стиля списка описания.
Я предполагаю, что вы захотите это внутри тега label следующим образом:
protected function getFieldRow($label, $value, $encode = true)
{
if (empty($value))
{
return '';
}
return FoxHtmlElem::create()
->append(FoxHtmlElem::create('dt')->classes('field-title')->text(JFilterInput::getInstance()->clean("{$label}:")))
->append(FoxHtmlElem::create('dd')->classes('field-content')->html($encode ? nl2br(FoxHtmlEncoder::encode(JFilterInput::getInstance()->clean($value))) : $value))
->render();
}
Если вы действительно хотите, чтобы это было так, как вы изначально просили, я бы предположил, что это решение (хотя Google не знает, какие классы вы используете, и поэтому я тоже не могу, поэтому я не могу его протестировать)
protected function getFieldRow($label, $value, $encode = true)
{
if (empty($value))
{
return '';
}
return FoxHtmlElem::create()
->append(FoxHtmlElem::create('dt')->classes('field-title')->text(JFilterInput::getInstance()->clean($label)))
->append(":")
->append(FoxHtmlElem::create('dd')->classes('field-content')->html($encode ? nl2br(FoxHtmlEncoder::encode(JFilterInput::getInstance()->clean($value))) : $value))
->render();
}