Nenačítá se CSS ani js v @layout.latte / default.latte
- SkinnyStick
- Člen | 6
Zdravíčko, tak jsem tu s další prosbičkou.
Struktura mého projektu. Soubory .css a .js mám ve složce /www/css/ potažmo /www/js/
Přejděme k @layout.latte který mám ve složce /app/presenters/templates/
{**
* @param string $basePath web base path
* @param array $flashes flash messages
*}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{ifset title}{include title|stripHtml} | {/ifset}WEB</title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link rel="stylesheet" href="{$basePath}/css/bootstrap.min.css">
<link rel="stylesheet" href="{$basePath}/css/font-awesome.min.css">
<link rel="stylesheet" href="{$basePath}/css/ionicons.min.css">
<link rel="stylesheet" href="{$basePath}/css/AdminLTE.min.css">
<link rel="stylesheet" href="{$basePath}/css/blue.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
{block head}{/block}
</head>
<body class="hold-transition register-page">
<div n:foreach="$flashes as $flash" n:class="flash, $flash->type">{$flash->message}</div>
{include content}
{block scripts}
<script src="{$basePath}/js/jquery.min.js"></script>
<script src="{$basePath}/js/bootstrap.min.js"></script>
<script src="{$basePath}/js/icheck.min.js"></script>
<script>
$(function () {
$('input').iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%' /* optional */
});
});
</script>
{/block}
</body>
</html>
A posléze soubor default.latte ve složce /app/presenters/templates/Homepage/
{block content}
<div class="register-box">
<div class="register-logo">
<a href="#"><b>Admin</b>LTE</a>
</div>
<div class="register-box-body">
<p n:block="title" class="login-box-msg">Register a new membership</p>
<form action="#" method="post">
<div class="form-group has-feedback">
<input type="text" class="form-control" placeholder="Full name">
<span class="glyphicon glyphicon-user form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="email" class="form-control" placeholder="Email">
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" placeholder="Password">
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" placeholder="Retype password">
<span class="glyphicon glyphicon-log-in form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-8">
<div class="checkbox icheck">
<label>
<input type="checkbox"> I agree to the <a href="#">terms</a>
</label>
</div>
</div>
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat">Register</button>
</div>
</div>
</form>
<a href="#" class="text-center">I already have a membership</a>
</div>
</div>
{/block}
Po načtení stránky NetPress se mi ovšem zobrazuje jen čistě bílá stránka, bez stylů a všeho. Kde jsem mohl udělat chybu? Cache jsem promazal. Když si dám zobrazit zdrojový kod a kliknu na cestu k css souborům, vyhodí se mi stránka forbidden. To je v pořádku? Děkuji za rady :)
Editoval SkinnyStick (13. 3. 2018 0:23)
- Matey
- Člen | 142
Když si dám zobrazit zdrojový kod a kliknu na cestu k css souborům, vyhodí se mi stránka forbidden. To je v pořádku?
To rozhodne v poriadku nie je. Všetky .css, .js a písma musia byť
prístupné. Link na to css vypadal byť vporiadku? ak áno tak chyba by mohla
byť ešte v .htaccess ak by si tam nebodaj mal zakázaný prístup do zložiek
css a js. Alebo Content Security Policy ak sa používa a nemáš povolený
prístup style-src 'self'
ale to by ťa upozornila vývojárska
konzola.
Netuším čo je zač ten netpress.
- BigCharlie
- Člen | 283
V pořádku to není. Na té chybové hlášce mě zarazilo tohle:
Server unable to read htaccess file, denying access to be safe
.
Pro klienta (prohlížeč) ty soubory na serveru nejsou dostupné. Tudíž tam buď nejsou, nebo mají z nějakého důvodu špatně nastavená práva.
To nesouvisí s Nette, spíš nastavení hostingu. Zkontroluj existenci .htaccess, a správnost nastavení v něm…
- SkinnyStick
- Člen | 6
Zdravím, tak jsem vše konzultoval s webhostingem (wedos) a nepochodil jsem. Pro účely otestování jsem využil auto-instalačního balíčku nette přímo od wedosu, abych si byl jistý správností všech .htaccess a podobně a ještě všechny ručně prošel. Stejně, když si vložím vlastní styl do složky /www/css/muj_soubor.css a pote ho volám v hlavičce v @layout.latte, poté si nechám v prohlížeči zobrazit zdrojový kód a tam si kliknu na soubor css, tak mě to sice na něj přesněruje, ale píše to forbidden. Ovšem je zajímavé, že původní style.css z prvotní instalace nette je stále dostupný v prohlížeči (stačí přepsat v adresním řádku na style.css) a zobrazí se :) nějaké další nápady? Třeba co se týče nastavení přímo u webhostingu? Že bych se wedosu poptal na konfiguraci nebo bych si sám mohl něco přenastavit? Nejsem si jistý, jestli to souvisí s tímto problémem, ale pro jistotu zasílám screen z mého webhostingu. Najdete ho zde :) "":https://ctrlv.cz/6QIY
- SkinnyStick
- Člen | 6
/domains/netpress.cz/
<FilesMatch "\.json$">
Order deny,allow
Deny from all
</FilesMatch>
RewriteEngine On
RewriteRule (.*) www/$1 [L]
/domains/netpress.cz/www/
# Apache configuration file (see httpd.apache.org/docs/current/mod/quickreference.html)
# disable directory listing
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\. - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]
</IfModule>
# enable gzip compression
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
</IfModule>
</IfModule>
/domains/netpress.cz/www/css/
Zde není žádný, ale zkoušel jsem tam vytvořit svůj s obsahem allow from all, nic se nestalo. Stále nechápu proč style.css funguje a ostatní nikoli. Může to být tím, že některé .css a .js soubory mají na začátku velké písmeno?
Editoval SkinnyStick (6. 3. 2018 12:08)
- SkinnyStick
- Člen | 6
Fixed. Skutečně to bylo oprávněním souborů. Původní style.css měl práva 644 kdežto mnou nahrané soubory jen 640. Všem jsem nastavil práva 644 a ola lá… :) všem moc děkuji za ochotu a na brzkou shledanou u dalšího vlákna :)