Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как сделать дополнительное поле типа Дата?

Как сделать дополнительное поле типа Дата?


     20.04.2015    Все вопросы » Общие вопросы по PHP    3443

вопрос
Добрый день.

Возникла необходимость добавить дополнительное поле типа Дата. Подскажите, как это можно сделать?

Спасибо.

Ответил: PunPun


Открыть /engine/inc/xfields.php найти :
ShowOrHideEx("default_text", value == "text");

Ниже вставить :
ShowOrHideEx("default_date", value == "date");

Далее найти :
<option value="select"<?php echo ($editedxfield[3] == "select") ? " selected" : "";?>><?php echo $lang['xfield_xsel']; ?></option>

Ниже вставить :
<option value="date"<?php echo ($editedxfield[3] == "date") ? " selected" : "";?>><?php echo "Дата"; ?></option>

Далее найти :
        <div class="form-group" id="select_options">
          <label class="control-label col-lg-2"><?php echo $lang['xfield_xfaul']; ?></label>
          <div class="col-lg-10">
            <textarea style="width:100%;max-width: 350px; height: 100px;" name="editedxfield[4_select]"><?php if ($editedxfield[4]{0} == "\r") $editedxfield[4] = "\n".$editedxfield[4]; echo ($editedxfield[3] == "select") ? $editedxfield[4] : "";?></textarea><br><?php echo $lang['xfield_xfsel']; ?></td>
          </div>
         </div>

Ниже вставить :
        <div class="form-group" id="default_date">
          <label class="control-label col-lg-2"><?php echo "Дата"; ?></label>
          <div class="col-lg-10">
            <input style="width:100%;max-width: 350px;" type="date" name="editedxfield[4_text]" value="<?php if ($editedxfield[3] == "date") echo htmlspecialchars($editedxfield[4], ENT_QUOTES, $config['charset']); else echo ""; ?>" />
          </div>
         </div>

Далее найти :
elseif($value[3] == "select") $type=$lang['xfield_xsel'];

Ниже вставить :
elseif($value[3] == "date") $type="Дата";

Далее найти :
elseif ($value[3] == "select") {

Перед ним вставить :
elseif ($value[3] == "date") {

        $fieldvalue = str_replace('"', '&quot;', $fieldvalue);
        $fieldvalue = str_replace('&amp;', '&', $fieldvalue);

        if (!$value[5]) {
            $params = "rel=\"essential\" ";
            $uid = "uid=\"essential\" ";

        } else {

            $params = "";
            $uid = "";

        }

        if ($xfieldmode == "site") {
        
$output .= <<<HTML
<tr id="$holderid" {$uid}>
<td class="addnews">$value[1]:</td>
<td class="xfields" colspan="2"><input type="date" name="xfield[$fieldname]" id="xf_$fieldname" value="$fieldvalue" {$params}/>&nbsp;&nbsp;[if-optional]({$lang['xf_not_notig']})[/if-optional][not-optional]({$lang['xf_notig']})[/not-optional]</td>
</tr>
HTML;

        } else {
        
$output .= <<<HTML
<div id="$holderid" class="form-group" {$uid}>
  <label class="control-label col-lg-2">{$value[1]}:</label>
  <div class="col-lg-10">
     <input type="date" style="width:99%;max-width:437px;" name="xfield[$fieldname]" id="xf_$fieldname" value="$fieldvalue" {$params}/>&nbsp;&nbsp;[if-optional]<span class="note large"> <i class="icon-warning-sign"></i> {$lang['xf_not_notig']}</span>[/if-optional][not-optional]<span class="note large"> <i class="icon-warning-sign"></i> {$lang['xf_notig']}</span>[/not-optional]
  </div>
</div>
HTML;

        }
        
      }

Вот и все.

3 комментария

Attyla
Юзер

Attyla - 20 апреля 2015 14:57 -

Самое простое решение это прикрутить http://xdsoft.net/jqplugins/datetimepicker/ к обычному текстовому полю.

VooDoo
Юзер

VooDoo - 21 апреля 2015 12:56 -

Отлично, большое спасибо. Ушел настраивать.

werty911
Юзер

werty911 - 21 апреля 2015 14:57 -

Друзья как правильно подключить "DateTimePicker" на движке 10.0 ?, буду очень благодарен. Спасибо.

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

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

наверх