вопрос
Здравствуйте, друзья. Оптимизировал под себя модуль MWS Multi XFields под последнюю версию DLE.
При добавлении новости в addnews.html при коде
Но проблема в том, что Multi XFields не удается оптимизировать при быстром редактировании новости.
В ajax/editnews.php я добавил код:
С ним все отображается верно, отображаются ранее заданные значения. Но в случае изменения этих значений (если их несколько), то добавляется в базу только одно.
Буду рад за помощь, если кто-нибудь знает в чем дело.
При добавлении новости в 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('&','"'), array('&','"'), $fieldvalue ));
$items = explode( "\r\n", $value[4] );
foreach ( $items as $index => $value ) {
$value = str_replace("'", "'", $value);
$xfbuffer .= "<option name=\"xfield[{$fieldname}][]\" value=\"{$value}\"" . (in_array($value, $fieldvalue) ? " selected" : "") . ">{$value}</option>\r\n";
}
$xfbuffer .= "</select></div></div>";
}
С ним все отображается верно, отображаются ранее заданные значения. Но в случае изменения этих значений (если их несколько), то добавляется в базу только одно.
Буду рад за помощь, если кто-нибудь знает в чем дело.
Проблема оптимизации Multi XFields при быстром редактировании новости?
— Тогда мы идём к вам!