Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Быстрое редактирование - не выводится допполе дата и время - БАГ?

Быстрое редактирование - не выводится допполе дата и время - БАГ?


     08.02.2022    Все вопросы » Общие вопросы    601

вопрос
15.1 ДЛЕ. Есть допполе с типом "дата и время".
Добавляем новость через сайт - допполе видно и заполняется.
При редактировании через админку - с полем нет проблем. на сайте выводится ок.
При редактировании новости через сайт - допполя нет. остальные допполя присутствуют и меняются при необходимости. Если изменить тип поля на "одна строка" оно выводится при редактировании через сайт.

Вобщем как я понял проблема именно с выводом этого типа - дата и время . там идет подгрузка календаря с выбором даты
Смена скина не помогает. даже на дефолтном шаблоне тот же баг...

Подскажите в чем может быть трабл?

Ответа пока нет


10 комментариев

ravchik
Юзер

ravchik - 8 февраля 2022 19:49 -

Добавить в системе плагинов новый плагин:
engine/ajax/editnews.php

Найти:
elseif ($value[3] == "text") {

			$fieldvalue = str_replace('&', '&', $fieldvalue);

			$xfbuffer .= "<div class=\"xfieldsrow\"><div class=\"xfieldscolleft\">{$value[1]}:</div><div class=\"xfieldscolright\"><input type=\"text\" name=\"xfield[{$fieldname}]\" id=\"xfield[{$fieldname}]\" value=\"{$fieldvalue}\" class=\"quick-edit-text\" /></div></div>";

		} 

и добавить выше:
elseif ($value[3] == "datetime") {
	$fieldvalue = str_replace('&', '&', $fieldvalue);
	$xfbuffer .= "<div class=\"xfieldsrow\"><div class=\"xfieldscolleft\">{$value[1]}:</div><div class=\"xfieldscolright\"><input type=\"text\" name=\"xfield[{$fieldname}]\" id=\"xfield[{$fieldname}]\" value=\"{$fieldvalue}\" class=\"quick-edit-datetime\" /></div></div>";
} 

Выведет дату в текстовом поле, можете сами подключить нужный датапикер )

TeraMoune
Эксперт

TeraMoune - 8 февраля 2022 22:02 -

Подскажите в чем может быть трабл?

Да собственно в том, что в коде не прописано условие для вывода поля в быстром редактировании.

Тестовый репозиторий установки плагинов: teramoune

non-stop
Юзер

non-stop - 9 февраля 2022 17:30 -

Можно поподробнее.. как прописать?
при использовании кода выше - строки при быстром редактировании появились, но нет всплывающего календаря как на странице добавления новости, и без него можно только удалить данные из строки и прописать текстом вручную

TeraMoune
Эксперт

TeraMoune - 9 февраля 2022 23:40 -

Можно поподробнее.. как прописать?

Выше вам написали как добавить поле. А насчёт всплывающего календаря, то в первичном варианте комментария я писал об этом, что на стороне клиента у сайта нету js библиотеки для календаря.

Тестовый репозиторий установки плагинов: teramoune

ravchik
Юзер

ravchik - 10 февраля 2022 09:49 -

Добавить в системе плагинов новый плагин:
engine/ajax/editnews.php

Найти:
elseif ($value[3] == "text") {

			$fieldvalue = str_replace('&', '&', $fieldvalue);

			$xfbuffer .= "<div class=\"xfieldsrow\"><div class=\"xfieldscolleft\">{$value[1]}:</div><div class=\"xfieldscolright\"><input type=\"text\" name=\"xfield[{$fieldname}]\" id=\"xfield[{$fieldname}]\" value=\"{$fieldvalue}\" class=\"quick-edit-text\" /></div></div>";

		}

и добавить выше:
elseif ($value[3] == "datetime") { // вывод поля типа Дата и время при быстром редактировании
	$fieldvalue = str_replace('&', '&', $fieldvalue);
	$xfbuffer .= "<div class=\"xfieldsrow\"><div class=\"xfieldscolleft\">{$value[1]}:</div><div class=\"xfieldscolright\"><input type=\"text\" name=\"xfield[{$fieldname}]\" id=\"xfield[{$fieldname}]\" value=\"{$fieldvalue}\" data-rel=\"calendardatetime\" class=\"quick-edit-datetime\" /></div></div>";
}

Найти:
<script src="{$config['http_home_url']}engine/classes/js/sortable.js"></script>

Добавить выше:
<link href="{$config['http_home_url']}engine/classes/calendar/calendar.css" rel="stylesheet" type="text/css">
<script src="{$config['http_home_url']}engine/classes/calendar/calendar.js"></script>


PS: русифицировать календарь не смог...

non-stop
Юзер

non-stop - 10 февраля 2022 15:13 -

ravchik,
Благодарю! Зашуршало))

TeraMoune
Эксперт

TeraMoune - 10 февраля 2022 18:46 -

ravchik,

В calendar.js есть переменная cal_language, её стоит переназначить с Русской локализацией.
В некоторых php файлах админки можно встретить переназначенную переменную с переводом из языкового файла.

var cal_language   = {en:{months:['{$lang['January']}','{$lang['February']}','{$lang['March']}','{$lang['April']}','{$lang['May']}','{$lang['June']}','{$lang['July']}','{$lang['August']}','{$lang['September']}','{$lang['October']}','{$lang['November']}','{$lang['December']}'],dayOfWeek:["{$langdate['Sun']}", "{$langdate['Mon']}", "{$langdate['Tue']}", "{$langdate['Wed']}", "{$langdate['Thu']}", "{$langdate['Fri']}", "{$langdate['Sat']}"]}};

Тестовый репозиторий установки плагинов: teramoune

ravchik
Юзер

ravchik - 10 февраля 2022 20:10 -

Есть, не спорю. Но я пытался сделать без вмешательства в реальные файлы.

non-stop
Юзер

non-stop - 11 февраля 2022 12:52 -

подскажите еще как убрать время с выпадающего календаря?

ravchik
Юзер

ravchik - 13 февраля 2022 09:03 -

Замените
data-rel=\"calendardatetime\"
на
data-rel=\"calendardate\"

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

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

наверх