
Vladislav
26.06.2018
10:24:09

?
26.06.2018
10:24:32
responce помоему лишний

Vladislav
26.06.2018
10:25:17

?
26.06.2018
10:25:34
посмотри исходный код страницы

Google

?
26.06.2018
10:25:49
там он есть или нет

Vladislav
26.06.2018
10:25:54
всё равно я его не добавлял в контроллере

?
26.06.2018
10:26:08
ну вот там его быть не должно
смотрт кто тебе его ставит

Vladislav
26.06.2018
10:26:36
по этому я и задал вопрос
все делал как по статье

?
26.06.2018
10:27:58
пройдись по классам явно кто то ставит
мануал хорошо но голову тоже включать надо
чюдес не бывает

Vladislav
26.06.2018
10:29:14
так каждый ответить тут могёт)

Mark
26.06.2018
10:29:24

Google

?
26.06.2018
10:29:32
я тебя в доку отправлял ?

Mark
26.06.2018
10:29:33
Я по тому же мануалу делал, все хорошо вставало

?
26.06.2018
10:30:14
я попоему указал тебе как найти решение твоей проблемы
https://stackoverflow.com/questions/33801735/yii2-render-response-a-xml-file-in-the-view

Vladislav
26.06.2018
10:31:29

?
26.06.2018
10:31:41
ответ гуглиться на 1 минуту

Vladislav
26.06.2018
10:32:29
А случайно не экстендится класс рестовский контроллера? Либо если в модуле возможно в инитах прописано переопределение ответа?
<?php
namespace frontend\controllers;
use Yii;
use common\models\Book;
use yii\web\Controller;
use yii\helpers\Url;
/**
* Sitemap controller
*/
class SitemapController extends Controller
{
public function actionIndex()
{
$urls = array();
$books = Book::find()->all();
foreach ($books as $book) {
$urls[] = array(
Url::to(['book/view', $book->id])
, 'daily'
);
}
Yii::$app->response->format = \yii\web\Response::FORMAT_XML;
return $xml_sitemap = $this->renderPartial('../site/sitemap', array(
'host' => Yii::$app->request->hostInfo,
'urls' => $urls,
));
}
}

Эмин
26.06.2018
10:33:30
интересный у вас подход
массивы обозначаете в одном методе двумя разными способами
зачем то присваиваете переменной значение и сразу его возвращаете
вьюху почему то рендерете относительно

?
26.06.2018
10:34:20
return $xml_sitemap = $this->renderPartial
пахнет дичью

Эмин
26.06.2018
10:34:49
пахнет дичью весь этот метод

?
26.06.2018
10:34:56
:)

Vladislav
26.06.2018
10:34:59

Эмин
26.06.2018
10:34:59
зачем тащить из базы модели если ему нужны только ИД?

?
26.06.2018
10:35:51
:)

Vladislav
26.06.2018
10:36:34
и вы потаплять код решили или помочь с текущим вопросом? я что-то не понял

Эмин
26.06.2018
10:37:08
а я вопроса вашего не видел

Google

Эмин
26.06.2018
10:37:12
увидел только ваш код

Vladislav
26.06.2018
10:37:18
читайте выше

Эмин
26.06.2018
10:37:41
я вас немного не понял
вы загружаете всю таблицу, со всеми столбцами, для этого создается в памяти объекты, но зачем?
если вас интересует только ИД

?
26.06.2018
10:38:14
тебе из базы нужно только получить столбец id

Vladislav
26.06.2018
10:38:35
ну да Id
через foreach

?
26.06.2018
10:38:50
а ты из базы берешь все значения

Vladislav
26.06.2018
10:38:53
я не понимаю на что намекаете

?
26.06.2018
10:38:56
вернее поля

Эмин
26.06.2018
10:38:57
если в БД будет слишком много записей, Book::find()->all(); вы тут встрянете
да мы не намекаем))

Эмин
26.06.2018
10:39:07
мы же прямо говорим
а чем у вас проблема?

Vladislav
26.06.2018
10:39:33

?
26.06.2018
10:39:41
да

Эмин
26.06.2018
10:39:42
конечно

Vladislav
26.06.2018
10:39:42
взять только нужное
ок

?
26.06.2018
10:39:56
+ взять как array чтоб лишнего не было

Google

Vladislav
26.06.2018
10:40:40

?
26.06.2018
10:40:47
asArray

Эмин
26.06.2018
10:40:50
ни в коем случае

?
26.06.2018
10:40:51
в запросе

Эмин
26.06.2018
10:41:29
find()->select(['id'])->column()
так попробуйте

?
26.06.2018
10:41:36

Эмин
26.06.2018
10:41:36
с синтаксисом могу ошибиться

?
26.06.2018
10:41:44
забыл про это

Admin
ERROR: S client not available

Эмин
26.06.2018
10:41:45
IDE подскажет вам точнее
сколько у вас предполагается записей в таблице ?

Vladislav
26.06.2018
10:42:13
только мне ничего не подсказывает IDE,но это уже другой разговор
~2к

Эмин
26.06.2018
10:42:56
я бы пачками по 1000 штук тащил

?
26.06.2018
10:43:02
плуг поставь для шторма

Vladislav
26.06.2018
10:43:21

?
26.06.2018
10:43:32
:)

Эмин
26.06.2018
10:44:00
ладно код мы ваш обсудили, посоветовали как сделать правильно
а проблема то в чем?

Google

?
26.06.2018
10:45:00
при рендере xml идет обертка responce

Vladislav
26.06.2018
10:45:07
Всем привет. Почему при указания формата вывода страницы XML для sitemap всё равно выводится как обычный текст и в тегах html body?
$xml_sitemap = $this->renderPartial('../site/sitemap', array(
'host' => Yii::$app->request->hostInfo,
'urls' => $urls,
));
Yii::$app->response->format = \yii\web\Response::FORMAT_XML;
echo $xml_sitemap;
ой перепутал https://bar-data.com/blog/yii2/simple-sitemap-for-site-on-yii2
решено правда через
Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
Yii::$app->response->headers->add('Content-Type', 'text/xml');
но правда как-то такое себе
но работает

Эмин
26.06.2018
10:48:49
указание content-type это явно не костыль

Vladislav
26.06.2018
10:49:52
меня FORMAT_RAW вместо FORMAT_XML больше смущает

Эмин
26.06.2018
10:51:53
для того что бы понять что же вы сделали не так, ознакомитесь с этой статьей
https://github.com/samdark/yii2-cookbook/blob/master/book/response-formats.md
тащить пачками можно так:
find()->each(1000)
либо
find()->batch(1000)
первый вариант удобнее

Vladislav
26.06.2018
10:54:12

Эмин
26.06.2018
10:54:25
конечно
https://www.yiiframework.com/doc/api/2.0/yii-db-query#each()-detail

Vladislav
26.06.2018
10:55:39
конечно
ладно благодарю вас за обсёр кода =D

Эмин
26.06.2018
10:55:55
пожалуйста :)
ничего страшного в этом нет
просто вы еще не достаточно опытны
что бы видеть такие моменты сразу
все через это проходят