Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Вопросы КЭПу » Проблема оптимизации Multi XFields при быстром редактировании новости?

Проблема оптимизации Multi XFields при быстром редактировании новости?


     27.07.2016    Вопросы КЭПу    406

вопрос
Здравствуйте, друзья. Оптимизировал под себя модуль MWS Multi XFields под последнюю версию DLE.
При добавлении новости в addnews.html при коде

<li class="form-group imp">
<label for="xfield_holder_primechanie">Примечание:</label>
<select class="wide" data-placeholder="Выберите Примечания ..." name="xfield[primechanie][]" id="xf_primechanie[]" onchange="onCategoryChange(this)" style="width:350px;height:140px;" multiple="multiple"><option value=""></option>
<option name="xfield[primechanie][]" value="Первое значение">Первое значение</option>
<option name="xfield[primechanie][]" value="Второе значение">Второе значение</option>
<option name="xfield[primechanie][]" value="Третье значение">Третье значение</option>
<option name="xfield[primechanie][]" value="Четвертое значение">Четвертое значение</option>
</select>
и выборе нескольких значений они все пишутся в БД, по сути это чекбокс с несколькими значениями.
Но проблема в том, что Multi XFields не удается оптимизировать при быстром редактировании новости.
В ajax/editnews.php я добавил код:

} elseif ($value[3] == "checkbox") {
$optional = ( $value[5] == "1" ) ? $lang['xf_not_notig'] : $lang['xf_notig'];
$xfbuffer .= "<div class=\"xfieldsrow\"><div class=\"xfieldscolleft\">{$value[1]}:</div><div class=\"xfieldscolright\"><select name=\"xfield[{$fieldname}][]\" id=\"xf_{$fieldname}[]\" data-placeholder=\"Выберите {$value[1]} ...\" class=\"wide\" onchange=\"onCategoryChange(this)\" style=\"width:350px;height:140px;\" multiple=\"multiple\"><option value=\"\"></option>";            
if ( ! isset( $fieldvalue ) ) $fieldvalue = array();
$fieldvalue = explode(";", str_replace( array('&amp;','&quot;'), array('&','"'), $fieldvalue ));
$items = explode( "\r\n", $value[4] );
foreach ( $items as $index => $value ) {
$value = str_replace("'", "&#039;", $value);      
$xfbuffer .= "<option name=\"xfield[{$fieldname}][]\" value=\"{$value}\"" . (in_array($value, $fieldvalue) ? " selected" : "") . ">{$value}</option>\r\n";
}
$xfbuffer .= "</select></div></div>";
}

С ним все отображается верно, отображаются ранее заданные значения. Но в случае изменения этих значений (если их несколько), то добавляется в базу только одно.
Буду рад за помощь, если кто-нибудь знает в чем дело.

Ответил: КЭП


Проблема оптимизации Multi XFields при быстром редактировании новости?

— Тогда мы идём к вам!
Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх