- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
totamon, еще хотел поинтересоваться,
ранее функция получала конкретные запросы из админки, теперь получает их налету $js=file_get_contents.
В админке было:
protected function getcates($nom){ - блок
блок 1 - один запрос;
блок 2 - второй запрос;
выводил разные результаты.
Теперь в админке прописано кол-во роликов для блока (5) и название блока $nom,
если название заполнено - блок выводить, не заполнено - не выводить.
В результате на сайте стали появляться блоки с одинаковыми результатами (роликами).
Получается, что при формировании двух блоков, происходит 2 запроса к $js=file_get_contents, так? :)
И видимо в результатах двух разных обращений к $js=file_get_contents, встречаются одни и те же запросы из-за чего и отображаются блоки с одинаковыми результатами (роликами).
Можно функцию изменить таким образом, чтобы обращение к $js=file_get_contents было одно и уже из его результатов брать ключи для разных блоков?
Сам $js=file_get_contents может выводить от одного до пяти результатов...
Работа функции по одному или двум запросам может вернуть пустой результат и блоки не отобразятся, это не должно повлиять на работу следующих блоков.
Пожалуйста, помогите разобраться, если я смог донести свою мысль.
Спасибо!
Функция
$part = "snippet";
$js=file_get_contents('https://glopart.ru/ads/adunit/4640/script.js');
if(preg_match('#push\((?<json>.*?)\);#',$js,$match)){
$wares=json_decode($match['json'])->wares;
foreach ($wares as $item) {
//$arr1 = array('(', ')', '{', '}', ':', '-', '[', ']', '"', ' ', '/', '#');
//$arr2 = array('', '', '', '', '', '+', '', '', '', '+', '+', '');
$itemtitle=$item->title;
//$itemtitle=str_replace($arr1, $arr2, $item->title);
}
}
$this->url = "https://www.googleapis.com/youtube/v3/search?key={$this->config["key"]}&part=$part&order={$this->config[$nom.'sortingresults']}&maxResults={$this->config[$nom.'number']}&q=".urlencode($itemtitle)."&videoEmbeddable=true&videoSyndicated=true&type=video";
$data = $this->http(TRUE);
$html = "";
foreach ($data->items as $yt) {
// global $listQueryVideoHit;
if (!isset($listQueryVideoHit))
$listQueryVideoHit = 0;
elseif($listQueryVideoHit === 3)
$listQueryVideoHit = 0;
$html .= "<div class='div_topic_cover topic_cover_".(++$listQueryVideoHit)." reviews'>
<a href=\"".Main::href("video/{$yt->id->videoId}")."\" class=\"a_topic_cover\">
<img src=\"/themes/images/icon/blank_275x180.png\" class=\"img_topic_cover\" alt=\"{$yt->snippet->title}\" style=\"background: url(https://img.youtube.com/vi/{$yt->id->videoId}/mqdefault.jpg;\">
<div class=\"div_topic_cover_caption\">{$yt->snippet->title}</div>
</a>
</div>";
}
if(!empty($html)){
$html = '<div class="div_index_topics_block"><a href="/search/'.urlencode($itemtitle).'" class="div_index_caption2 reviews">'.($item->title).'</a></div>'.$html.'<div id="div_index_topics_next_reviews_0" class="clear"></div> <div class="center clear" id="div_index_topics_more_reviews_0"><noindex><a href="/search/'.urlencode($itemtitle).'" rel="nofollow" class="div_index_topics_more">Еще видео</a></noindex></div>';
}
return $html;
}
Пример:
в админке заполнил поля для 5 блоков,
$js=file_get_contents отдала 5 результатов,
успешно обработалось 3, на сайте появилось 3 блока.
Если успешно 5, то и на сайте 5 блоков.
Пожалуйста, помогите исправить "уравнение"
if (!isset($listQueryVideoHit))
$listQueryVideoHit = 0;
elseif($listQueryVideoHit === 5)
$listQueryVideoHit = 0;
Сейчас идет вывод
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
Нужно
1,1,1,1,1
2,2,2,2,2
3,3,3,3,3
4,4,4,4,4
5,5,5,5,5
Попробовал методом тыка, не получилось :(
Спасибо!