Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Как задействовать модуль Новости для простых статей без отображения даты

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 8
Просмотров: 4949
Последний ответ 28 Апреля 2013, 22:07:18
от Axiomateria
Вывод даты в формате unix-timestamp

Автор muldyРаздел Шаблоны XSLT

Ответов: 6
Просмотров: 5189
Последний ответ 27 Февраля 2013, 18:17:03
от muldy
Модуль новости, вывод даты

Автор johnРаздел Шаблоны XSLT

Ответов: 1
Просмотров: 2207
Последний ответ 24 Сентября 2012, 11:13:12
от niakriss
Вывод даты с днем недели

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 3
Просмотров: 3039
Последний ответ 02 Июля 2013, 07:36:09
от BaceH
Проблема вывода даты из order

Автор SumrakrndРаздел Шаблоны XSLT

Ответов: 9
Просмотров: 1935
Последний ответ 19 Апреля 2016, 12:46:22
от aghigay

0 Пользователей и 1 Гость просматривают эту тему.

Привет всем! Поставили задачу оживить сайт на Umi. С системой не знаком, пытаюсь разбираться...
Необходимо, чтобы у пользователя при нажатии на поле формы, появлялся календарь, и пользователь смог выбрать дату, которая перенесется в поле. В принципе скрипт календаря в umi уже еcть и статья подходящая http://wiki.umisoft.ru/%D0%92%D1%81%D0%BF%D0%BB%D1%8B%D0%B2%D0%B0%D1%8E%D1%89%D0%B8%D0%B9_%D0%BA%D0%B0%D0%BB%D0%B5%D0%BD%D0%B4%D0%B0%D1%80%D1%8C_%D0%B4%D0%BB%D1%8F_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0_%D0%B4%D0%B0%D1%82%D1%8B
Только у меня все это работает, когда пользователь залогинен. Когда не залогинен, Firebug пишет "TypeError: $(...).datepicker is not a function".

Дома поставил бесплатную версию umi, на ней все работает...

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Re:Всплывающий календарь для выбора даты
« Ответ #1 : 26 Мая 2013, 23:07:24 »
На сайте работает edit-in-place?
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

Re:Всплывающий календарь для выбора даты
« Ответ #2 : 27 Мая 2013, 00:14:43 »
Работает.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Всплывающий календарь для выбора даты
« Ответ #3 : 31 Мая 2013, 13:22:00 »
у вас не хватает jquery-ui библиотеки. Функция %system includeQuickEditJs()%  в шаблоне  выводит разные js наборы. При авторизованном пользователе этот набор содержит данную библиотеку. Попробуйте подключить его вручную в head шаблона.

P.S. в последствии следует добавить проверку подключать ли ui (чтобы у авторизованного пользователя не было дублирующего подключения)

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Re:Всплывающий календарь для выбора даты
« Ответ #4 : 20 Июля 2013, 20:10:10 »
А у меня задачка почти такая же, но с условием того, что бы пользователь на сайте в разделе с объектами (туры) мог выбрать (или отсортировать как-то) по дате только те объекты (туры), которые он отметил в всплывающем календаре. Т есть есть ссылка "Выбрать тур по дате" , пользователь нажимает на неё и в выпадающем календаре нажимает на дату и после чего у него загружается страница с теми турами, которые ему интересны на эту дату.

Я вот уже и все скрипты нужные подключил и в турах разные даты проставил (поле с типом "дата")  и вот правильно ли я думаю, что в данном решении не обойдётся без USEL-файлов ?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Всплывающий календарь для выбора даты
« Ответ #5 : 23 Июля 2013, 12:29:47 »
не совсем, вы можете использовать ваше поле с датой, как поле для фильтра. То есть если каким-то образом значение выбранной даты в формате unix времени попадет в адресную строку в таком виде ?fields_filter['имя_поля_с_датой'][0]=время _в_формате_UNIX_TIMESTAMP , то система при выводе списка (не важно товаров или новостей) применит этот фильтр по принципу вывести все элементы у которых значение поля имя_поля_с_датой больше чем время _в_формате_UNIX_TIMESTAMP

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Re:Всплывающий календарь для выбора даты
« Ответ #6 : 23 Июля 2013, 13:25:45 »
.... вы можете использовать ваше поле с датой, как поле для фильтра.

то есть данное поле должно быть как "фильтруемое" в типе данных? так у меня уже сделано.
Однако что бы увидеть этот самый календарь надо по тексту статьи
http://wiki.umisoft.ru/%D0%92%D1%81%D0%BF%D0%BB%D1%8B%D0%B2%D0%B0%D1%8E%D1%89%D0%B8%D0%B9_%D0%BA%D0%B0%D0%BB%D0%B5%D0%BD%D0%B4%D0%B0%D1%80%D1%8C_%D0%B4%D0%BB%D1%8F_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0_%D0%B4%D0%B0%D1%82%D1%8B
и вставить такой код для tpl
 $FORMS['reflection_field_date'] = <<<END
<tr>
<td style="width:100%;">
%title%:
</td>
<td>
<input class="datepicker" type="text" name="%input_name%" value="%value%" size="20" />
</td>  
</tr>
END;
апро xslt вариант где можно почитать, что бы так же вставить всплывающий календарь в шаблон страницы ?
ведь пока мы его не вставим - мы не сможем протестировать результат с выборкой по дате.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Всплывающий календарь для выбора даты
« Ответ #7 : 23 Июля 2013, 17:14:25 »
так у вас какая сейчас задача?

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

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Re:Всплывающий календарь для выбора даты
« Ответ #8 : 23 Июля 2013, 17:47:17 »
- сделать так чтобы в поле подставлялось значение из всплывающего календаря?
- фильтрация по значению выбранному в сплывающем календаре

Вот такая задача в сумм е двух не решённых пока вопросов.
А - вывод всплывающего календаря в общем-то за ранее решён уже.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Всплывающий календарь для выбора даты
« Ответ #9 : 23 Июля 2013, 18:06:01 »
подстановка значения выбранного в datepicker (а я предполагаю вы используете именно его) это задача не к umi механизмам, а к js самого datepicket, посмотрите примеры с его использованием.

Добавлю лишь что datepicker возвращает значение unix timestamp в не совсем верном виде/ Поэтому делаем 2 поля одно скрытое для фильтрации и одно подставное для вывода

Пример js которая к
<input type="hidden" class="textinputs" id="publish_time_hidden" value="" name="fields_filter[publish_time][0]">
<input type="text" class="textinputs datepicker_class" id="publish_time" value="">
привязывает datepicker

$( ".datepicker_class" ).datepicker({
altField: '#publish_time_hidden',
altFormat: "@",
numberOfMonths: 2,
dateFormat :'d MM, yy',
firstDay: 1,
dayNamesMin: [ "Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб" ],
monthNames: [ "Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря" ],
monthNamesShort: [ "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь" ],
onSelect: function(dateText, inst) {
var alt_Field = jQuery('#'+jQuery(this).attr('id')+'_hidden');
var altFieldVal = jQuery(alt_Field).val();
jQuery(alt_Field).val(Math.round((altFieldVal / 1000)));
}
});

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Re:Всплывающий календарь для выбора даты
« Ответ #10 : 23 Июля 2013, 19:16:21 »
подстановка значения выбранного в datepicker (а я предполагаю вы используете именно его) это задача не к umi механизмам, а к js самого datepicket, посмотрите примеры с его использованием.

Да, используем именно datepicker, а про какие примеры вы упоминаете ?
Их поискать на форуме по запросу "datepicker" ?

- вывод всплывающего календаря

Кстати говоря я был не точен, то есть поторопился с успешных выносом календаря, так как в админ/панеле есть иконка, на которую нажав он и появляется, я же пока сделал поле со спойлером, в котором должна появлятся эта самая иконка.
Как эту иконку вывести в содержимое спойлера на странице ?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Всплывающий календарь для выбора даты
« Ответ #11 : 23 Июля 2013, 19:22:55 »
говоря о примерах, я подразумевал интернет в общем, например официальная документация jQuery http://jqueryui.com/datepicker/#icon-trigger

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Re:Всплывающий календарь для выбора даты
« Ответ #12 : 24 Июля 2013, 00:01:41 »
Спасибо, admin. На данный момент удалось реализовать вставку даты в поле.
Однако пришлось всё таки сделать некоторые изменения в код, который вы отписали выше.
<form> 
        <input type="hidden" class="textinputs" id="publish_time_hidden" value="" name="fields_filter[start_tour][0]" />
        <input type="text" class="textinputs datepicker_class" id="publish_time" value="" />
<input type="submit" value="Искать" />
</form>
start_tour - это идентификатор типа данных первой даты заезда в туре, то есть он здесь вместо традиционного publish_time и именно по этому идентификатору start_tour весь "Поиск тура по дате" и строиться по идее.
НО поиск из трёх туров с разными датами не совсем точно выдаёт результаты, после нажатия кнопки "Искать"
Например если выбрать 4 июля 2013 года - то выдаётся один тур с датами 10.07.2013 - 12.07.2013
10.07.2013 -это данные из ополя с идентификатором start_tour
http://temp03.web-image.ru/travel_tours/prefabricated_tours_to_st_petersburg_for_individual_tourists/
Вот пока не понятно почему такое не соответствие и сразу второй вопрос - а что делать с пустой страницей, если туров на выбранную дату нет?
« Последнее редактирование: 24 Июля 2013, 00:04:27 от Axiomateria »

*

Axiomateria

  • ****
  • 322
  • +5/-0
    • Просмотр профиля
    • Разработка продающих сайтов под ключ по честным ценам
Re:Всплывающий календарь для выбора даты
« Ответ #13 : 24 Июля 2013, 13:27:32 »
А так же результат поиска по дате в лентах новостей работает не чётко, то есть отображает все новости до указанной даты в календаре включая и саму дату:
temp03.web-image.ru/information_for_tourists/putevoditel_po_sanktpeterburgu/theatres/
В этом случае используется такой код, где поле с идентификатором поля "Дата публикации" publish_time типа данных "дата"
<form> 
        <input type="hidden" class="textinputs" id="publish_time_hidden" value="" name="fields_filter[publish_time][0]" />
        <input type="text" class="textinputs datepicker_class" id="publish_time" value="" />
<input type="submit" value="Искать" />
</form>
Следственный вопрос: как вывести результаты выборки новостей по дате на отдельную страницу (допустим которая тип данных "Страница контента") в которой вызов списка анонсов выбранных новостей такой (то есть самый обыкновенный)
<xsl:apply-templates select="document('udata://news/lastlist/?extProps=publish_time,anons')" mode="select-to-data" />
?

« Последнее редактирование: 24 Июля 2013, 13:33:30 от Axiomateria »

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Всплывающий календарь для выбора даты
« Ответ #14 : 26 Июля 2013, 13:43:24 »
?fields_filter[start_tour][0]=123 означает выводить элементы, у которых в поле start_tour значение больше чем 123

?fields_filter[start_tour][1]=123 означает выводить элементы, у которых в поле start_tour значение меньше чем 123

?fields_filter[start_tour]=123 означает выводить элементы, у которых в поле start_tour значение равно 123

и если вы используете поля типа дата указывайте время в unix timestamp формате