Новости Joomla

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

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Код: php-brief
$format = 'Y/m/d H:i:s';
foreach($json['reviews'] as &$review){
    if(empty($review['review_time'])) continue;
    $review['review_time'] = date_format(date_create($review['review_time']), $format);
}
здесь?

Нет, вот в этом моём:
Код: php
for ($i = 0; $i <= $reviews_count; $i++) {
        $rev_time = date_parse($json['reviews'][$i]['review_time']);
        // Добавляем в массив время отзывов
        $rev_time_array[] = $rev_time;
        // В массиве могут оказаться пустые значения, избавляемся от них
        //$rev_time_array = array_diff($rev_time_array, $array_empty);
        }
    }
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
так тебе ответы зачем пишут, чтоб смотрел и все равно свою линию продолжал
первоначально откуда данные берешь вот там и ограничивай сразу их кол-во а не в цикле проверяй сколько отрабатывать нужно
for выкинь и забудь используй foreach http://www.phpbench.com/
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Так уже подсказали, и с этим всё в порядке. Теперь иду дальше, пытаюсь понять как из массива собрать дату в нужном формате
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
zeus07 не тупи глянь на код вверху страницы. Скажу по секрету он это делает
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
zeus07 не тупи глянь на код вверху страницы. Скажу по секрету он это делает

Да, этот код в принципе делает то, что надо, но он выводит в данный момент только первый элемент массива. А как сделать так, чтобы даты в нужном формате попадали в массив?

UPD. И второе. У меня переменная $review_time является булевой. И мне надо проверять, что если она отдаёт 1, то делать всё то, о чём я говорил, если нет, то ничего.
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Разобрался окончательно. Вот такой код получился:

Код: php
// Вывод времени отзыва 
$review_time = $params->get('review_time');
$format = 'Y/m/d H:i:s';
    if ($review_time == 1) {
        foreach($json['reviews'] as &$review){
            if(empty($review['review_time'])) continue;
            $review['review_time'] = date_format(date_create($review['review_time']), $format);
            $rev_time_array[] = $review['review_time'];
        }
    }

Всем большое спасибо за помощь!
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
И ещё вопрос. Может подскажете, как можно оптимизировать вот этот код, также используя цикл foreach:

Код: php
$grade_average = $params->get('grade_average');
    if ($grade_average == 1) {
              $grade_average_array = array();
        for ($i = 0; $i <= $reviews_count; $i++) {
        $grade_aver = $json['reviews'][$i]['grade_average'];
        // Добавляем в массив оценку контактности
        $grade_average_array[] = $grade_aver;
        // В массиве могут оказаться пустые значения, избавляемся от них
        $grade_average_array = array_diff($grade_average_array, $array_empty);
        }
    }
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
аналогично, только вы желательно должны все в одном цикле делать
Код: php-brief
$grade_average = $params->get('grade_average');
if ($grade_average == 1) {
    $grade_average_array = array();
    foreach ($json['reviews'] as $review) {
        !empty($review['grade_average']) && $grade_average_array[] = $review['grade_average'];
    }
}
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
аналогично, только вы желательно должны все в одном цикле делать
Код: php-brief
$grade_average = $params->get('grade_average');
if ($grade_average == 1) {
    $grade_average_array = array();
    foreach ($json['reviews'] as $review) {
        !empty($review['grade_average']) && $grade_average_array[] = $review['grade_average'];
    }
}

Да, прекрасно работает, спасибо! И кода гораздо меньше. А то у меня таких опций довольно много, и можно существенно сократить код.
А не могли бы вы прокомментировать последнюю строку? А то не очень доходит.
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
И ещё хотел спросить. Вот когда нужно вот так спарсить
Код: php
$json['reviews'][$i]['from']['sname']
Как тут правильно сделать?
*

buyanov

  • Захожу иногда
  • 188
  • 29 / 1
  • Сайты 74
Ого 3 страницы уже =)
Можешь кусок своего JSON сюда кинуть я тебе полностью напишу тогда. =) А то из нормальной в общем то темы получилась куча неюзабельных кусков. Причем никто не учитывает глобальных настроек и все работают в процедурном стиле как 10 лет назад.
Если кто другой столкнет с подобным эта тема для него будет адом...
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
key(array_slice($json['reviews'], -1, 1, true)
end(array_keys($json['reviews'])_
жесть  ;D
даже треш :) говорю ж, перепутал по поводу end, что он ключ возвращает, а не значение. а потом уже выкручивался как мог :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Ого 3 страницы уже =)
Можешь кусок своего JSON сюда кинуть я тебе полностью напишу тогда. =) А то из нормальной в общем то темы получилась куча неюзабельных кусков. Причем никто не учитывает глобальных настроек и все работают в процедурном стиле как 10 лет назад.
Если кто другой столкнет с подобным эта тема для него будет адом...

Вот массив с отзывами, который мы получаем из $json['reviews']

Код: php
Array ( [0] => Array ( [grade_average] => 7.6000 [grade_quality] => 7 [grade_professionalism] => 8 [grade_cost] => 7 [grade_schedule] => 8 [grade_connectivity] => 8 [review_comment] => хорошо выполненная работа. всем довольны) [review_time] => 2015/05/07 16:42:14 [from] => Array ( [url] => https://freelancehunt.com/profile/show/Eruntales.html [url_api] => https://api.freelancehunt.com/profiles/Eruntales [profile_id] => 102429 [login] => Eruntales [fname] => Жанна [sname] => Пищик [avatar] => http://content.freelancehunt.com/profile/photo/50/Eruntales.png [rating] => 268 [rating_position] => 849 ) [project] => Array ( [project_id] => 63377 [name] => Новая верстка+сверстать для мобильного и планшетного вида [description] => Joomla 3.2 - необходимо натянуть новый дизайн 3-4 страниц на имеющийся HTML, текущая версия http://batt.su/ , также необходимо реализовать планшетный и мобильный лейаут с имеющего дизайна (psd). [description_html] =>
Joomla 3.2 - необходимо натянуть новый дизайн 3-4 страниц на имеющийся HTML, текущая версия http://batt.su/ , также необходимо реализовать планшетный и мобильный лейаут с имеющего дизайна (psd).



[url] => https://freelancehunt.com/project/novaya-verstkaplussverstat-dlya-mobilnogo-planshetnogo/63377.html [url_api] => https://api.freelancehunt.com/projects/63377 [is_personal_project] => 0 [is_safe_project] => 0 [status_name] => проект завершен [budget_amount] => 3000 [budget_currency_code] => UAH [currency_symbol] => ₴ ) ) [1] => Array ( [grade_average] => [review_comment] => непонятки [review_time] => 2014/10/31 22:22:02 [from] => Array ( [grade_average] => [review_comment] => непонятки [review_time] => 2014/10/31 22:22:02 [from] => Array *RECURSION* [project] => Array ( [project_id] => 37072 [name] => Нужно доработать сайт! Оплата по факту [description] => Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats). + интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб [description_html] =>
Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats).

+ интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб

[url] => https://freelancehunt.com/project/nuzhno-dorabotat-sayt-oplata-po-faktu/37072.html [url_api] => https://api.freelancehunt.com/projects/37072 [is_personal_project] => 0 [is_safe_project] => 0 [status_name] => закрыт без отзыва [budget_amount] => 5000 [budget_currency_code] => RUB [currency_symbol] => руб. ) ) [project] => Array ( [project_id] => 37072 [name] => Нужно доработать сайт! Оплата по факту [description] => Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats). + интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб [description_html] =>
Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats).

+ интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб

[url] => https://freelancehunt.com/project/nuzhno-dorabotat-sayt-oplata-po-faktu/37072.html [url_api] => https://api.freelancehunt.com/projects/37072 [is_personal_project] => 0 [is_safe_project] => 0 [status_name] => закрыт без отзыва [budget_amount] => 5000 [budget_currency_code] => RUB [currency_symbol] => руб. ) ) )

из него я вытягиваю в отдельные массивы нужную информацию, вот скриншот админки: http://clip2net.com/s/3uYbbRU
« Последнее редактирование: 29.02.2016, 20:13:00 от zeus07 »
*

buyanov

  • Захожу иногда
  • 188
  • 29 / 1
  • Сайты 74
Цитировать
Вот массив с отзывами, который мы получаем из $json['reviews']
Его бы хотябы сериализуй =)  serialize($json['reviews']) А то я его даже скопировать не могу себе
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Сделал:

Код: php
a:2:{i:0;a:10:{s:13:"grade_average";s:6:"7.6000";s:13:"grade_quality";s:1:"7";s:21:"grade_professionalism";s:1:"8";s:10:"grade_cost";s:1:"7";s:14:"grade_schedule";s:1:"8";s:18:"grade_connectivity";s:1:"8";s:14:"review_comment";s:76:"хорошо выполненная работа. всем довольны)";s:11:"review_time";s:19:"2015/05/07 16:42:14";s:4:"from";a:9:{s:3:"url";s:53:"https://freelancehunt.com/profile/show/Eruntales.html";s:7:"url_api";s:48:"https://api.freelancehunt.com/profiles/Eruntales";s:10:"profile_id";s:6:"102429";s:5:"login";s:9:"Eruntales";s:5:"fname";s:10:"Жанна";s:5:"sname";s:10:"Пищик";s:6:"avatar";s:63:"http://content.freelancehunt.com/profile/photo/50/Eruntales.png";s:6:"rating";s:3:"268";s:15:"rating_position";s:3:"854";}s:7:"project";a:12:{s:10:"project_id";s:5:"63377";s:4:"name";s:107:"Новая верстка+сверстать для мобильного и планшетного вида";s:11:"description";s:322:"Joomla 3.2 - необходимо натянуть новый дизайн 3-4 страниц на имеющийся HTML, текущая версия http://batt.su/ , также необходимо реализовать планшетный и мобильный лейаут с имеющего дизайна (psd).";s:16:"description_html";s:372:"
Joomla 3.2 - необходимо натянуть новый дизайн 3-4 страниц на имеющийся HTML, текущая версия http://batt.su/ , также необходимо реализовать планшетный и мобильный лейаут с имеющего дизайна (psd).



";s:3:"url";s:99:"https://freelancehunt.com/project/novaya-verstkaplussverstat-dlya-mobilnogo-planshetnogo/63377.html";s:7:"url_api";s:44:"https://api.freelancehunt.com/projects/63377";s:19:"is_personal_project";i:0;s:15:"is_safe_project";i:0;s:11:"status_name";s:29:"проект завершен";s:13:"budget_amount";s:4:"3000";s:20:"budget_currency_code";s:3:"UAH";s:15:"currency_symbol";s:3:"₴";}}i:1;a:5:{s:13:"grade_average";N;s:14:"review_comment";s:18:"непонятки";s:11:"review_time";s:19:"2014/10/31 22:22:02";s:4:"from";a:5:{s:13:"grade_average";N;s:14:"review_comment";s:18:"непонятки";s:11:"review_time";s:19:"2014/10/31 22:22:02";s:4:"from";a:5:{s:13:"grade_average";N;s:14:"review_comment";s:18:"непонятки";s:11:"review_time";s:19:"2014/10/31 22:22:02";s:4:"from";N;s:7:"project";a:12:{s:10:"project_id";s:5:"37072";s:4:"name";s:70:"Нужно доработать сайт! Оплата по факту";s:11:"description";s:563:"Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats). + интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб";s:16:"description_html";s:576:"
Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats).

+ интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб

";s:3:"url";s:82:"https://freelancehunt.com/project/nuzhno-dorabotat-sayt-oplata-po-faktu/37072.html";s:7:"url_api";s:44:"https://api.freelancehunt.com/projects/37072";s:19:"is_personal_project";i:0;s:15:"is_safe_project";i:0;s:11:"status_name";s:32:"закрыт без отзыва";s:13:"budget_amount";s:4:"5000";s:20:"budget_currency_code";s:3:"RUB";s:15:"currency_symbol";s:8:" руб.";}}s:7:"project";a:12:{s:10:"project_id";s:5:"37072";s:4:"name";s:70:"Нужно доработать сайт! Оплата по факту";s:11:"description";s:563:"Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats). + интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб";s:16:"description_html";s:576:"
Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats).

+ интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб

";s:3:"url";s:82:"https://freelancehunt.com/project/nuzhno-dorabotat-sayt-oplata-po-faktu/37072.html";s:7:"url_api";s:44:"https://api.freelancehunt.com/projects/37072";s:19:"is_personal_project";i:0;s:15:"is_safe_project";i:0;s:11:"status_name";s:32:"закрыт без отзыва";s:13:"budget_amount";s:4:"5000";s:20:"budget_currency_code";s:3:"RUB";s:15:"currency_symbol";s:8:" руб.";}}s:7:"project";a:12:{s:10:"project_id";s:5:"37072";s:4:"name";s:70:"Нужно доработать сайт! Оплата по факту";s:11:"description";s:563:"Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats). + интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб";s:16:"description_html";s:576:"
Добрый день! Нужно доработать сайт . На сайте должна быть страничка с возможностью задания рейтинга для каждого объекта, аналог (http://krasnodar.sutochno.ru/cabinet/pr/flats).

+ интеграция с Qiwi кошельком с возможностью выставления автоматических счетов из ЛК, и квитовкой оплаченных счетов. Сайт сделан на Joomla... Оплата 5000 руб

";s:3:"url";s:82:"https://freelancehunt.com/project/nuzhno-dorabotat-sayt-oplata-po-faktu/37072.html";s:7:"url_api";s:44:"https://api.freelancehunt.com/projects/37072";s:19:"is_personal_project";i:0;s:15:"is_safe_project";i:0;s:11:"status_name";s:32:"закрыт без отзыва";s:13:"budget_amount";s:4:"5000";s:20:"budget_currency_code";s:3:"RUB";s:15:"currency_symbol";s:8:" руб.";}}}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться