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