Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 19.05.2014 22:44:19

Кирилл

Подключение css

Здравствуйте.
Столкнулся с проблемой что при прочих равных, но с разных путей шаблон грузится по разному.

При таком правиле шаблон грузится нормально

Route::get('about', function () {
	$about = View::make('about');
	$login = View::make('login');
	$r1 = rand (1, 3);
	$r2 = rand (1, 3);
	while($r1==$r2){
		$r2 = rand (1, 3);
	}
	$news = new News();
	$dataN = News::getRandom($r1);
	$new1 = View::make('news',$dataN);
	$dataN = News::getRandom($r2);
	$new2 = View::make('news',$dataN);
	$data = array(
		'main'=>$about,
		'login'=>$login,
		'new1'=>$new1,
		'new2'=>$new2
	);
	return View::make('index',$data);
});

А при таком

Route::any('news/{id}', function ($id) {
	// echo $id;
	$login = View::make('login');
	$r1 = rand (1, 3);
	$r2 = rand (1, 3);
	while($r1==$r2){
		$r2 = rand (1, 3);
	}
	$news = new News();
	$dataN = News::getRandom($r1);
	$new1 = View::make('news',$dataN);
	$dataN = News::getRandom($r2);
	$new2 = View::make('news',$dataN);
	$n = $news::find($id)->toArray();
	$dataN = array(
		'img' => $n['image_link'],
		'header' => $n['header'],
		'description' => $n['description']
	);
	$new = View::make('new',$dataN);
	$data = array(
		// 'main'=>$new,
		// 'login'=>$login,
		// 'new1'=>$new1,
		// 'new2'=>$new2
	);
	return View::make('index',$data);
});

Шаблон грузится но без стилей. Под шаблоны закоментированны что бы убедиться что проблема не в них.

Все ссылки на стили прописаны в заголовке файла index.

При попытке открыть шаблон по второй ссылке в логах получаю

2014-05-19 19:38:52] production.ERROR: exception 'Symfony\Component\HttpKernel\Exception\NotFoundHttpException' in C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php:5289
Stack trace:
#0 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(4663): Illuminate\Routing\RouteCollection->match(Object(Illuminate\Http\Request))
#1 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(4651): Illuminate\Routing\Router->findRoute(Object(Illuminate\Http\Request))
#2 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(4643): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#3 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(698): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#4 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(679): Illuminate\Foundation\Application->dispatch(Object(Illuminate\Http\Request))
#5 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(1136): Illuminate\Foundation\Application->handle(Object(Illuminate\Http\Request), 1, true)
#6 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(7218): Illuminate\Http\FrameGuard->handle(Object(Illuminate\Http\Request), 1, true)
#7 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(7815): Illuminate\Session\Middleware->handle(Object(Illuminate\Http\Request), 1, true)
#8 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(7762): Illuminate\Cookie\Queue->handle(Object(Illuminate\Http\Request), 1, true)
#9 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(10768): Illuminate\Cookie\Guard->handle(Object(Illuminate\Http\Request), 1, true)
#10 C:\www\OpenServer\domains\laravel\laravel\bootstrap\compiled.php(640): Stack\StackedHttpKernel->handle(Object(Illuminate\Http\Request))
#11 C:\www\OpenServer\domains\laravel\laravel\public\index.php(49): Illuminate\Foundation\Application->run()
#12 {main} [] []

Причем неоднократно.

Подскажите в чем может быть проблема.
Заранее спасибо.

#2 20.05.2014 07:55:49

Re: Подключение css

А сами шаблоны как выглядят?

Не в сети

#3 20.05.2014 22:33:41

Кирилл

Re: Подключение css

Сам шаблон, полностью:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Flowers free css web template</title>

<link href="style/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="style/login.css" type="text/css" media="screen" charset="utf-8"/>
<script src="scripts/jquery-1.7.1.min.js" type="text/javascript" ></script>
<script src="scripts/jquery-ui-1.8.17.custom.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="scripts/script.js"></script>
</head>
<body>
<div class="outer">
	<div id="rc1"></div>
	<div id="headerbg">
		<div class="name">Цветы мира</div>
		<div class="tag">Здесь вы найдете все</div>
	</div>
	<div id="headimage"></div>
	<div style="clear:left; width:942px;">
		<div id="left-nav">
			<div class="heading">Quick Links </div>
			<div class="leftcolumn">
				<ul>
					<li><a href="about">О компании</a></li>
					<li><a href="#">Ветрина</a></li>
					<li><a href="#">Контакы</a></li>
					<!--<li><a href="#">Text Link</a></li>
					<li><a href="#">Text Link</a></li>
					<li><a href="#">Text Link</a></li>
					<li><a href="#">Text Link</a></li>-->
				</ul>
			</div><div class="clear"></div>
			<div id="news-bg">
				<?=isset($new1)?$new1:''?>
			</div>
			<div id="news-bg">
				<?=isset($new2)?$new2:''?>
			</div>
		</div>
		<div id="right-nav">
			<div class="welcom">Добро пожаловать!</div>
			<?=isset($login)?$login:''?>
				<div id="main">
					
					<?=isset($main)?$main:''?>
				</div>
			</div>
		</div>
	<div class="clear"></div>
	<div id="rc4"></div>
	<div id="bottom-bg">
		<div id="bottom">
			<div class="bottomlink"><a href="#">Homepage</a></div><div class="sap3">|</div>
			<div class="bottomlink"><a href="#">About Us</a></div><div class="sap3">|</div>
			<div class="bottomlink"><a href="#">Products</a></div><div class="sap3">|</div>
			<div class="bottomlink"><a href="#">Services</a></div><div class="sap3">|</div>
			<div class="bottomlink"><a href="#">Contact</a></div>
		</div>
	</div>
	<div id="rc5"></div>
	<div class="clear"></div>
	<div id="footer"></div>
</div>
<div class="clear"></div>
</body>
</html>

Все пути указаны от Public. Все файлы присутствуют.

#4 21.05.2014 08:17:01

Re: Подключение css

Так ведь у вас пути относительные. Как только в адресе страницы появляется слэш все ломается. Используйте URL::asset().

Не в сети

#5 22.05.2014 15:02:16

Кирилл

Re: Подключение css

А где можно посмотреть примеры работы этой функции?

#6 22.05.2014 15:07:26

Re: Подключение css

Да вроде смотреть нечего... http://stackoverflow.com/questions/2055 … -and-asset

Не в сети

#7 23.05.2014 13:14:52

Кирилл

Re: Подключение css

Решил проблему ajax запросами.

Подвал раздела