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

zahar_92

  • Осваиваюсь на форуме
  • 174
  • 6
Ребята подскажите, как вывести дату как на скриншоте (дата проведения мероприятия, а НЕ создания материала)?
+ нужен модуль, который будет показывать материалы из категории выстраивая их по этой дате мероприятия (от ближайшего к следующему)

Может быть использовать CCK или еще что-то?? Если доп.поля, то как по ним фильтровать материл в модуле? В общем проблема(((

       
« Последнее редактирование: 07.10.2016, 21:07:47 от zahar_92 »
*

beliyadm

  • Профи
  • 8368
  • 1527
  • Севастополь == Россия
Ну судя по скринам это прошедшие мероприятия.
Дайте больше информации для составления ТЗ и понимания
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

zahar_92

  • Осваиваюсь на форуме
  • 174
  • 6
Это не прошедшие мероприятия, это макет дизайна.
Смысл такой:
1. Создаешь материал (мероприятие)
2. Где-то (доп.поле или ещё как-то) нужно указать дату начала мероприятия в приведенном формате
3. Мероприятия выводятся блогом в 2 колонки и выводом даты в приведенном формате
4. При входе в конкретное мероприятие, справа отображается модуль с остальными мероприятиями (материалами) отображаемыми по возрастанию от ближайшей даты мероприятия в приведенном формате

День недели (патница) и время мероприятия не участвуют в фильтрации (в модуле), только дата напр. 16/01
Т.е. это могут быть разные поля, просто стоящие рядом (поле с датой / и поле с днём недели и временем), но не могу придумать как вывести это все блогом, и ещё модуль(((
Постарался максимально подробно описать задачу
« Последнее редактирование: 07.10.2016, 23:25:57 от zahar_92 »
*

zahar_92

  • Осваиваюсь на форуме
  • 174
  • 6
Вроде более менее придумал решение вывода даты

Нашел такой код
Код
<?php
// функция для определения дня недели по-русски
function getDayRus(){
// массив с названиями дней недели
 $days = array(
 'Воскресенье' , 'Понедельник' ,
'Вторник' , 'Среда' ,
 'Четверг' , 'Пятница' , 'Суббота'
 );
// номер дня недели
// с 0 до 6, 0 - воскресенье, 6 - суббота
$num_day = (date('w'));
// получаем название дня из массива
$name_day = $days[$num_day];
// вернем название дня
 return $name_day;
}
// пример использования
echo getDayRus();

И такой

Код
<? 
$giorno[0]="Воскресенье";
$giorno[1]="Понедельник";
$giorno[2]="Вторник";
$giorno[3]="Среда";
$giorno[4]="Четверг";
$giorno[5]="Пятница";
$giorno[6]="Суббота";
$gisett=(int)date("w");
echo $giorno[$gisett];
?>

Оба они делают одно и тоже, выводят дату, точнее день недели, в нужном мне формате. Осталось только прикрутить.
Как модифицировать данный код, если дата в шаблоне выводится так:
Код
<time datetime="<?php echo JHtml::_('date', $displayData['item']->created, 'c'); ?>" itemprop="dateCreated" data-toggle="tooltip" title="<?php echo JText::_('COM_CONTENT_CREATED_DATE'); ?>">
<?php echo JHtml::_('date', $displayData['item']->created, JText::_('DATE_FORMAT_LC3')); ?>
</time>
« Последнее редактирование: 08.10.2016, 14:04:51 от zahar_92 »
*

yandex_hb

  • Давно я тут
  • 358
  • 21
Не вижу скриншотов.
Код: php
date('l, j F Y', strtotime($displayData['item']->created));
*

zahar_92

  • Осваиваюсь на форуме
  • 174
  • 6
Не вижу скриншотов.
Код: php
date('l, j F Y', strtotime($displayData['item']->created));
Скриншоты в первом посте, 2 картинки. Дата вида 10/01 Пятница 19:00 - Это дата создания материала
Ваш код куда вставлять? Точнее что заменить в моем коде?
*

zahar_92

  • Осваиваюсь на форуме
  • 174
  • 6
Проблему вроде как решил. Приведу код, может кому пригодится:

в файле /layouts/joomla/content/info_block/create_date.php (или переопределяем в папку с шаблоном)
перед <dd class="create">

Код
<?php
function showDate($input){
    $input = explode(" ", $input);
    $date = explode("-", $input[0]);
    $time = explode(":", $input[1]);
    $timestamp = mktime($time[0], $time[1], $time[2], $date[1], $date[2], $date[0]);
    $day = date('l',$timestamp);
    switch ($day) {
        case 'Monday':
            $day = 'Понедельник';
            break;
        case 'Tuesday':
            $day = 'Вторник';
            break;
        case 'Wednesday':
            $day = 'Среда';
            break;
        case 'Thursday':
            $day = 'Четверг';
            break;
        case 'Friday':
            $day = 'Пятница';
            break;
        case 'Saturday':
            $day = 'Суббота';
            break;
        case 'Sunday':
            $day = 'Воскресенье';
            break;
    }
    $date = date("d/m / $day / H:i",$timestamp);
    echo $date;
}

И вместо <?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON', JHtml::_('date', $displayData['item']->created, JText::_('DATE_FORMAT_LC3'))); ?>

Вставляем <?php showDate($displayData['item']->created); ?>

В итоге получаем 03/11 / ЧЕТВЕРГ / 19:00 (дата из админки поле - Дата создания)

P.S. Все лишние сообщения из темы можно удалить.
*

yandex_hb

  • Давно я тут
  • 358
  • 21
Угу, я к тому что не нужно перечислять все дни недели или месяцы.
Код: php
$xdate = array();
$xdate[] = date('d/m', strtotime($displayData['item']->created));
$xdate[] = JText::_(date('l', strtotime($displayData['item']->created)));
$xdate[] = date('H:i', strtotime($displayData['item']->created));
echo implode(' / ', $xdate);
*

zahar_92

  • Осваиваюсь на форуме
  • 174
  • 6
Угу, я к тому что не нужно перечислять все дни недели или месяцы.
Код: php
$xdate = array();
$xdate[] = date('d/m', strtotime($displayData['item']->created));
$xdate[] = JText::_(date('l', strtotime($displayData['item']->created)));
$xdate[] = date('H:i', strtotime($displayData['item']->created));
echo implode(' / ', $xdate);

Ваш вариант выдает Fatal error: Call to undefined function showDate() in /var/www/vhosts/u7860320.plsk.regruhosting.ru/asti.maslolm.ru/templates/shaper_helix3/html/layouts/joomla/content/info_block/create_date.php on line 24
Или я неправильно вставил
*

yandex_hb

  • Давно я тут
  • 358
  • 21
showDate() это ваш код
*

zahar_92

  • Осваиваюсь на форуме
  • 174
  • 6
showDate() это ваш код
Из приведенного мной кода код <?php showDate($displayData['item']->created); ?> выводит дату в нужном месте.
*

robert

  • Профи
  • 4078
  • 376
дата проведения мероприятия, а НЕ создания материала
Код
$displayData['item']->created
? То есть, все таки дата создания материала?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

zahar_92

  • Осваиваюсь на форуме
  • 174
  • 6
? То есть, все таки дата создания материала?
Пардон, да, дата создания. Не то изначально написал, хотел написать - а НЕ Дата публикации. Просто в Дату создания можно написать произвольное число и время, и это число отобразится на сайте. Что мне в принципе и надо
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести телефон автора статьи в шаблон

Автор tiraz

Ответов: 11
Просмотров: 200
Последний ответ 13.06.2017, 18:12:23
от Septdir
Helix3 как отключить дату и категории в SP Simple Portfolio?

Автор muria

Ответов: 2
Просмотров: 375
Последний ответ 16.03.2017, 18:48:11
от muria
Как вывести наим-ние род-кой категории в блоге?

Автор SanuNakudzima

Ответов: 9
Просмотров: 233
Последний ответ 07.03.2017, 11:47:41
от SanuNakudzima
joomshoping - шаблон сравнения вывести видео

Автор pavel2950

Ответов: 0
Просмотров: 156
Последний ответ 01.12.2016, 20:36:48
от pavel2950
Меню в мобильном виде

Автор Dimir

Ответов: 11
Просмотров: 332
Последний ответ 22.10.2016, 21:24:06
от Shustry