@yii2ru

Страница 1422 из 1721
Vladislav
26.06.2018
10:24:09


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

Vladislav
26.06.2018
10:25:17
responce помоему лишний
дык я его не добавлял в контроллере

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

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

Vladislav
26.06.2018
10:25:54
посмотри исходный код страницы
ну responce есть там я знаю

всё равно я его не добавлял в контроллере

?
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
return $xml_sitemap = $this->renderPartial пахнет дичью
это я прото код урезал по идее там должно быть сохранение в кэш а потом вывод

Эмин
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
мы же прямо говорим

а чем у вас проблема?

?
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
пожалуйста :)

ничего страшного в этом нет

просто вы еще не достаточно опытны

что бы видеть такие моменты сразу

все через это проходят

Страница 1422 из 1721