Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Люди добрые, помогите с изменением вида вывода даты в двух модулях


polevser

Recommended Posts

Добрый вечер форумчане, пытаюсь вот запустить визуально качественную площадку, но сталкиваюсь с кучей трудностей, конечно голь на выдумку хитра, и многие вещи решаю довольно замысловато, но к сожалению с PHP не настолько силен чтобы решить одну проблему, собственно имеется такой вот вариант вывода новостей и отзывов на главной странице сайта:

 

По задумке это выглядит в верстке вот так:

 

https://www.dropbox.com/s/95hoofws80710aa/1.png

 

На деле же у меня получилось реализовать только так:

 

https://www.dropbox.com/s/gmr7yq4lpr8mt2c/2.png

 

В обоих вариантах использовал следующий код внутри контроллеров модулей:

'date'    => date($this->language->get('date_format_short'), strtotime($result['date_added'])),

Плагин Новостей: https://opencartforum.com/files/file/1066-news-155-новости-155-v331/

Плагин Отзывов: https://opencartforum.com/files/file/644-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%BE%D1%82%D0%B7%D1%8B%D0%B2%D0%BE%D0%B2/

 

Был бы очень признателен за любую помощь!

Надіслати
Поділитися на інших сайтах


Читайте

+ идём в языковые переменные модуля, и находим там date_format_short и правим её так как надо отобразить вам.

 

Я извиняюсь, но в модулях в языковых файлах нету ничего подобного. И приношу извинения, не указал о каких именно модулях шла речь, подправил описание проблемы.

Зашел по адресу: \catalog\language\russian\russian.php

Внес правку:

$_['date_format_short']     = 'd F Y';

В итоге получаю:

21 April 2014

 

Именно поэтому и прошу помощи, что решение этого вопроса видимо не лежит на поверхности. Хотелось бы все таки сделать на русском наименования месяцев.

Надіслати
Поділитися на інших сайтах


Ну что же вам так мешает воспользоваться поиском наконец?

Подобные вопросы всегда лежат на поверхности, достаточно в голове сформировать свой вопрос, и вставить его в строку поиска..

Надіслати
Поділитися на інших сайтах


Ну что же вам так мешает воспользоваться поиском наконец?

Подобные вопросы всегда лежат на поверхности, достаточно в голове сформировать свой вопрос, и вставить его в строку поиска..

 

Повторюсь, я к сожалению не программист, а дизайнер и верстальщик, поэтому и обращаюсь за помощью к тем кто знаком с темой. К тому же я только начал изучать движок, прошу не серчать сильно.

 

Собственно попробовал вот так вот сделать:

// Locale
$_['code']                  = 'ru';
$_['direction']             = 'ltr';
$_['date_format_short']     = 'd F Y';

$replace = array(
    'January'=>'Январь'
    'February'=>'Февраль'
    'March'=>'Март'
    'April'=>'Апрель'
    'May'=>'Май'
    'June'=>'Июнь'
    'July'=>'Июль'
    'August'=>'Август'
    'September'=>'Сентябрь'
    'October'=>'Октябрь'
    'November'=>'Ноябрь'
    'December'=>'Декабрь'
);
 
$date = strtr( $_['date_format_short'], $replace );
echo strtotime( $_['date_format_short'] );
 

$_['date_format_long']      = 'l dS F Y';
$_['time_format']           = 'h:i:s A';
$_['decimal_point']         = '.';
$_['thousand_point']        = ' ';

Выдается ошибка:

Parse error: syntax error, unexpected ''February'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /home/sitename/public_html/catalog/language/russian/russian.php on line 9
Надіслати
Поділитися на інших сайтах


Повторюсь, я к сожалению не программист, а дизайнер и верстальщик, поэтому и обращаюсь за помощью к тем кто знаком с темой. К тому же я только начал изучать движок, прошу не серчать сильно.

 

Собственно попробовал вот так вот сделать:

// Locale
$_['code']                  = 'ru';
$_['direction']             = 'ltr';
$_['date_format_short']     = 'd F Y';

$replace = array(
    'January'=>'Январь'
    'February'=>'Февраль'
    'March'=>'Март'
    'April'=>'Апрель'
    'May'=>'Май'
    'June'=>'Июнь'
    'July'=>'Июль'
    'August'=>'Август'
    'September'=>'Сентябрь'
    'October'=>'Октябрь'
    'November'=>'Ноябрь'
    'December'=>'Декабрь'
);
 
$date = strtr( $_['date_format_short'], $replace );
echo strtotime( $_['date_format_short'] );
 

$_['date_format_long']      = 'l dS F Y';
$_['time_format']           = 'h:i:s A';
$_['decimal_point']         = '.';
$_['thousand_point']        = ' ';

Выдается ошибка:

 

Данные изменения надо было делать в контроллере модуля.

Надіслати
Поділитися на інших сайтах


Данные изменения надо было делать в контроллере модуля.

 

Сделал, явно не очень правильно, потому что вышла ошибка:

Parse error: syntax error, unexpected ''February'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /home/albissbr/public_html/catalog/controller/module/latestreviews.php on line 49

Вот код который я вставил: https://www.dropbox.com/s/glplcrtysp1y9en/3.png

 

Если Вас не затруднит, Вы не могли бы дать наглядный пример того как я должен сделать? А то я так могу гадать долго-долго.

Надіслати
Поділитися на інших сайтах


Выложите сюда ваш модуль.(контроллер)

 

Я там внес правки в шаблоны и контроллеры, то есть они уже такие какими я их в данный момент использую, но без вывода даты по человечески: https://www.dropbox.com/s/m2oi34nh2ocg1lp/module2x.zip

 

Ну и плюс плагин отзывов не имел вывода даты, я просто в контроллер внес:

'date'    => date($this->language->get('date_format_short'), strtotime($result['date_added'])),

Спасибо Вам большое!

Надіслати
Поділитися на інших сайтах


До массива вывода сообщения добавляем:

            $replace = array(
                'January'=>'Январь',
                'February'=>'Февраль',
                'March'=>'Март',
                'April'=>'Апрель',
                'May'=>'Май',
                'June'=>'Июнь',
                'July'=>'Июль',
                'August'=>'Август',
                'September'=>'Сентябрь',
                'October'=>'Октябрь',
                'November'=>'Ноябрь',
                'December'=>'Декабрь'
            );

Найти:

'date'    => date($this->language->get('date_format_short'), strtotime($result['date_added'])),

На:

strtr(date($this->language->get('date_format_short'), strtotime($result['date_added'])), $replace)
  • +1 2
Надіслати
Поділитися на інших сайтах


 

До массива вывода сообщения добавляем:

            $replace = array(
                'January'=>'Январь',
                'February'=>'Февраль',
                'March'=>'Март',
                'April'=>'Апрель',
                'May'=>'Май',
                'June'=>'Июнь',
                'July'=>'Июль',
                'August'=>'Август',
                'September'=>'Сентябрь',
                'October'=>'Октябрь',
                'November'=>'Ноябрь',
                'December'=>'Декабрь'
            );

Найти:

'date'    => date($this->language->get('date_format_short'), strtotime($result['date_added'])),

На:

strtr(date($this->language->get('date_format_short'), strtotime($result['date_added'])), $replace)

 

Спасибо огромное! Я премного признателен!

 

P.S. для тех кто в танке как почти что и я:

Вариант изначальный:

        foreach ($results as $result) {
            
            if ($result['image']) {
             $image = $this->model_tool_image->resize($result['image'], 150, 150);
             } else {
             $image = FALSE;
             }
            
            $this->data['news'][] = array(
                'title'                => $result['title'],
                'date'               => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
                'description'          => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $chars),
                'href'                 => $this->url->link('information/news', 'news_id=' . $result['news_id']),
                'thumb'             => $image
            );
        }

Вариант итоговый:

        foreach ($results as $result) {
            
            if ($result['image']) {
             $image = $this->model_tool_image->resize($result['image'], 150, 150);
             } else {
             $image = FALSE;
             }
            
        $replace = array(
            'January'=>'Января',
            'February'=>'Февраля',
            'March'=>'Марта',
            'April'=>'Апреля',
            'May'=>'Мая',
            'June'=>'Июня',
            'July'=>'Июля',
            'August'=>'Августа',
            'September'=>'Сентября',
            'October'=>'Октября',
            'November'=>'Ноября',
            'December'=>'Декабря'
        );
        
            $this->data['news'][] = array(
                'title'                => $result['title'],
                'date'               => strtr(date($this->language->get('date_format_short'), strtotime($result['date_added'])), $replace),
                'description'          => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $chars),
                'href'                 => $this->url->link('information/news', 'news_id=' . $result['news_id']),
                'thumb'             => $image
            );
        }
  • +1 1
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.