Форум русской поддержки Joomla!® CMS
28.07.2017, 19:04:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Формат даты в detalis AdsManager 2.6

 (Прочитано 1805 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Roof
Новичок
*

Репутация: +3/-0
Offline Offline

Сообщений: 5


« : 01.06.2011, 16:54:44 »

1) Захотел вывести дату подачи объявления на страницу просмотра объявления в формате ('d-m-Y'). Настройки такой в конфигурации AdsManager 2.6 я не нашел. Значит нужно править код.
2) Вот исправил файл www/components/com_adsmanager/views/details/tmpl/default.php (привожу участок кода, где есть мною добавленные строки)
Код:
...
<div class="<?php echo $classcontent;?> adsmanager_ads" align="left">
<div class="adsmanager_top_ads">
<h2 class="adsmanager_ads_title">
<?php if (@$this->positions[0]->title) {$strtitle = JText::_($this->positions[0]->title);} ?>
<?php $date_elements  = explode("-",$this->content->date_created); //получаем массив для вывода даты - эту строку я добавил ?>
<?php echo "<b>".@$strtitle."</b> ";

if (isset($this->fDisplay[1]))
{
foreach($this->fDisplay[1] as $field)
{
echo $this->field->showFieldValue($this->content,$field);


}
}?>
</h2>
<?php echo date('d-m-Y', mktime(0,0,0,$date_elements[1],$date_elements[2],$date_elements[0]));//выводим непосредственно дату после заголовка объявления - эту строку я добавил ?>
<div>
...
3) Все выводится и работает и даже устраивает. НО при просмотре категории в списке объявлений -  объявления выводятся с датой в таком же формате как сделал я в пункте 2  - ('d-m-Y')
Я изучал файл www/components/com_adsmanager/views/list/tmpl/default.php и нашел какой код отвечает за вывод даты:
Код:
...
echo $this->reorderDate($content->date_created);  //что за функция reorderDate
...
4) Вот теперь сам вопрос - что за функция reorderDate и где она объявлена(в каком файле)? Ведь как я полагаю - именно она мне нужна для преобразования даты в нужный формат - ('d-m-Y'), но использовать ее в файле www/components/com_adsmanager/views/details/tmpl/default.php  у меня не получается.
« Последнее редактирование: 01.06.2011, 19:03:26 от Roof » Записан
Alex89
Завсегдатай
*****

Репутация: +198/-1
Offline Offline

Пол: Мужской
Сообщений: 555


Joomlaman :)


« Ответ #1 : 01.06.2011, 23:08:16 »

Рекомендую Вам почитать про архитектурную модель MVC (будет намного проще работать с кодом, будете примерно знать что и откуда берётся)...
Если уж совсем непонятно будет, то "Notepad++" + "Поиск по файлам" - незаменимая штуковина! Azn
объясню коротко:
нужная функция находится в файле /com_adsmanager/views/list/view.html.php
чтобы её использовать в /com_adsmanager/views/details/tmpl/default.php нужно сначала скопировать её в файл /com_adsmanager/views/details/view.html.php
функция берёт формат даты из файла локализации и преобразовывает к нему дату, переданную в параметре
вот так вот!
 
« Последнее редактирование: 01.06.2011, 23:20:08 от Alex89 » Записан
Roof
Новичок
*

Репутация: +3/-0
Offline Offline

Сообщений: 5


« Ответ #2 : 02.06.2011, 14:14:35 »

Спасибо за хороший широкий ответ. Жаль плюсик не могу поставить. Читаю про MVC.
Записан
d.im_a
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 17


« Ответ #3 : 11.07.2017, 21:33:43 »

1) Захотел вывести дату подачи объявления на страницу просмотра объявления в формате ('d-m-Y'). Настройки такой в конфигурации AdsManager 2.6 я не нашел. Значит нужно править код.
2) Вот исправил файл www/components/com_adsmanager/views/details/tmpl/default.php (привожу участок кода, где есть мною добавленные строки)
Код:
...
<div class="<?php echo $classcontent;?> adsmanager_ads" align="left">
<div class="adsmanager_top_ads">
<h2 class="adsmanager_ads_title">
<?php if (@$this->positions[0]->title) {$strtitle = JText::_($this->positions[0]->title);} ?>
<?php $date_elements  = explode("-",$this->content->date_created); //получаем массив для вывода даты - эту строку я добавил ?>
<?php echo "<b>".@$strtitle."</b> ";

if (isset($this->fDisplay[1]))
{
foreach($this->fDisplay[1] as $field)
{
echo $this->field->showFieldValue($this->content,$field);


}
}?>
</h2>
<?php echo date('d-m-Y', mktime(0,0,0,$date_elements[1],$date_elements[2],$date_elements[0]));//выводим непосредственно дату после заголовка объявления - эту строку я добавил ?>
<div>
...
3) Все выводится и работает и даже устраивает. НО при просмотре категории в списке объявлений -  объявления выводятся с датой в таком же формате как сделал я в пункте 2  - ('d-m-Y')
Я изучал файл www/components/com_adsmanager/views/list/tmpl/default.php и нашел какой код отвечает за вывод даты:
Код:
...
echo $this->reorderDate($content->date_created);  //что за функция reorderDate
...
4) Вот теперь сам вопрос - что за функция reorderDate и где она объявлена(в каком файле)? Ведь как я полагаю - именно она мне нужна для преобразования даты в нужный формат - ('d-m-Y'), но использовать ее в файле www/components/com_adsmanager/views/details/tmpl/default.php  у меня не получается.


Изменить формат даты можно в файле www/components/com_adsmanager/language/ru-RU(или другой язык)/ru-RU.com_adsmanager.ini   в строке ADSMANAGER_DATE_FORMAT_LC="%m-%d-%Y"
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet