Помогите пожайлуста разобраться.

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Arta
Сообщения: 41
Зарегистрирован: 2016.10.26, 11:08

Помогите пожайлуста разобраться.

Сообщение Arta »

Уважаемые пользователи,подскажите что не правильно работает или как правильно написать код для открытия информации на фронтенде пройдя по ссылке - по нажатии на название?вот скрипты которые выводят информацию на главную но при нажатии на название(ссылку)подробное описание не открываеться,помогите пожайлуста исправить ошибку или переделать скрипт по новому???
Это класс который должен перехвачивать id и открывать информацию.

Код: Выделить всё

<?php
namespace app\models;
class MyList extends \yii\db\ActiveRecord{
	
	public static function tableName()
	{
		return 'category';
	}

public static function getAll()
{
$data = self::find()->all();
return $data;	
}

public static function getOne($id)
{
$data = self::find()->where(['id'=>$id])->one();
return $data;
}
}

Это контроллер в котором выводиться информация на экран - выводиться нормально всё работает по нажатии на название не открываеться подробно.

Код: Выделить всё

<?php

namespace app\controllers;

use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;
use app\models\MyList;
class SiteController extends Controller
{
public function actionIndex()
{
	return $this->render('index');
}
public function actionAbout()
{
	return $this->render('about');
}

public function actionHello()
 { 
$var = 'Новинки сериалов:';
$array = MyList::getAll($id);
	return $this->render('hello',['varInView'=>$var,'arrayInView'=>$array]);
}
public function actionView($id)
{
	$one = MyList::getOne($id);
	return $this->render('view',['one'=>$one]);
}
}
подскажите пожайлуста как решить этот вопрос???
Последний раз редактировалось Arta 2017.04.28, 09:10, всего редактировалось 1 раз.
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Помогите пожайлуста разобраться.

Сообщение caHek2x »

тег code когда научитесь использовать ... ?
sosnovskiy
Сообщения: 239
Зарегистрирован: 2017.03.28, 20:03

Re: Помогите пожайлуста разобраться.

Сообщение sosnovskiy »

Какиеошибки?

ПС: чем вам метод findOne не угодил? Зачем городить getOne
Arta
Сообщения: 41
Зарегистрирован: 2016.10.26, 11:08

Re: Помогите пожайлуста разобраться.

Сообщение Arta »

подскажите что не так написано так как не выводиться информация на экран не с getOne yt c findOne что не так написано - как правильно написать чтобы работало как здесь?http://serials.fruckt.pp.ua
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Помогите пожайлуста разобраться.

Сообщение someweb »

Как ссылка подробно выглядит? Должна быть похожа на
http://.../site/view?id=XX

Используйте findOne и проверяйте на null

P. S. Модель ничего "перехвачивает".
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
sosnovskiy
Сообщения: 239
Зарегистрирован: 2017.03.28, 20:03

Re: Помогите пожайлуста разобраться.

Сообщение sosnovskiy »

В коде который вы привели, ошибок нет. Проблема явно не в нем. Покажите правила роутинга, ссылку по которой вы переходите а так же view файл куда выводится модель
Arta
Сообщения: 41
Зарегистрирован: 2016.10.26, 11:08

Re: Помогите пожайлуста разобраться.

Сообщение Arta »

Вот как выглядит файл view

Код: Выделить всё

<h1>Информация о конкретной задаче</h1>

<p>
<a href="http://redd2/framework/basic/web/index.php?r=admin%2Fcategory%2Fview&id=1" <?=$item->text>"<?php echo $item->names" ?> </a>

<h3><?= $one->names ?></h3>

</p>
ссылка была создана по созданным работающим доменам где лежат файлы но,по этой ссылке я прошел получил Not Found (#404) и эту ссылку я скопировал и вставил,почему я так сделал - смотрел видеоурок и по них постоянно учился повторяя всё что расстазывается подставляя свои значения....
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Помогите пожайлуста разобраться.

Сообщение caHek2x »

<a href="http://redd2/framework/basic/web/index. ... 2Fview&id=1" <?=$item->text>"<?php echo $item->names" ?> </a>

где закрытие тега a и именно : <a href="..."></a>
и что у вас творится с php ... вы выводите <?= но закрывать его кто будет ?>
Arta
Сообщения: 41
Зарегистрирован: 2016.10.26, 11:08

Re: Помогите пожайлуста разобраться.

Сообщение Arta »

Большое Вам спасибо за исправление моих ошибок и за ответ - Ваш ответ,по возможности подскажите мне я исправил некоторые ошибки но ссылка с объекта (фронтенд) отвечает только лишь ошибкой что Вы ошиблись при наборе URL в браузере. Вероятнее всего, сервер пытается найти файл http://on/www/www/basic/views/category/id, которого не существует. работает это когда я делаю вот-так,

Код: Выделить всё

<h1><?php echo $varInView; ?></h1>

<div>
<?php foreach($arrayInView as $item): ?>
<p>
<br><a href="http://on/www/basic/views/category/id"<?=$item->id>"php echo $item->name"?>
<h4><?php echo $item->name?></h4>
</a>
<h4><?php echo $item->janr?></h4>
<h4><?php echo $item->god?></h4>
<?php endforeach ?>

</div>
когда я захожу в админскую часть где добавляю эти сериалы и где имею возможность просмотреть любой из добавленных сериалов я копирую ссылку из адрессной строки и заменяю её тогда на какой сериал не нажимию для открытия открываеться тот который был скопирован - чья ссылка и переходит в админскую часть этот код выглядит вот-так

Код: Выделить всё

<h1><?php echo $varInView; ?></h1>

<div>
<?php foreach($arrayInView as $item): ?>
<p>
<br><a href="http://redd2/framework/basic/web/index.php?r=admin%2Fcategory%2Fview&id=12>"php echo $item->name"?>
<h4><?php echo $item->name?></h4>
</a>
<h4><?php echo $item->janr?></h4>
<h4><?php echo $item->god?></h4>
<?php endforeach ?>

</div>
если я убираю выбран id число 12 получаю ошибку 404 подскажите мне как правильно мне сделать ссылку,за много вопросов извините - нет кого спросить...
sosnovskiy
Сообщения: 239
Зарегистрирован: 2017.03.28, 20:03

Re: Помогите пожайлуста разобраться.

Сообщение sosnovskiy »

Очень сложно понять что вам нужно...
sosnovskiy
Сообщения: 239
Зарегистрирован: 2017.03.28, 20:03

Re: Помогите пожайлуста разобраться.

Сообщение sosnovskiy »

Покажите action контроллера который обрабатывает эту ссылку
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Помогите пожайлуста разобраться.

Сообщение caHek2x »

что у вас опять происходит ...
<a href="...framework/basic/web/index.php?r=admin%2Fcategory%2Fview&id=12>"php echo $item->name"?>
должно быть:
<a href="...framework/basic/web/index.php?r=admin%2Fcategory%2Fview&id=12"><?php echo $item->name?></a>
или
<a href="...framework/basic/web/index.php?r=admin%2Fcategory%2Fview&id=12"><?= $item->name?></a>
это как минимум ...
а по нормально использовать Url::toRoute ... но мне кажется по хорошему вам надо забить на Yii и для начала подучить основы ... а потом уже браться за фреймворк ...
потомучто сейчас выходит так: "не выучились на медицинский, взяли скальпель, резанули ногу и спрашиваете: а почему насморк не прошел ..."
Arta
Сообщения: 41
Зарегистрирован: 2016.10.26, 11:08

Re: Помогите пожайлуста разобраться.

Сообщение Arta »

Вот action который обрабатывает ссылку

Код: Выделить всё

public function actionHello()
 { 
$var = 'Новинки сериалов:';
$array = MyList::getAll($id);
	return $this->render('hello',['varInView'=>$var,'arrayInView'=>$array]);
}
public function actionView($id)
{
	$one = MyList::getOne($id);
	return $this->render('view',['one'=>$one]);
}
}
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Помогите пожайлуста разобраться.

Сообщение caHek2x »

а контроллер как называется ? site
значит ссылка должна формироваться Url::toRoute(['/site/view', 'id'=>12])
Ответить