Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как сделать дополнительное поле типа Дата?

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


     20.04.2015    Общие вопросы по PHP    1353

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

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

Спасибо.

Ответил: Gameer


Открыть /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
72

242 | 128

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

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

VooDoo
3

31 | 18

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

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

werty911
22 | 2

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

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

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

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