Include CSS souboru bez modifikace
- maral
- Člen | 25
Ahoj, používám css pro stylování emailů. Šablona vypadá zhruba následovně:
<!DOCTYPE html>
<html>
<head>
...
{if !$noCss}
<style>
{include 'style.css'}
</style>
{/if}
</head>
<body>
...
Takto to ale zařve:
Including 'style.css' with content type HTML into incompatible type HTMLCSS.
Řešením by mělo být přidat do souboru ‚style.css‘ řádek
{contentType css}
, ovšem to zase nemůžu udělat, protože ten
css soubor používám i jinde a ten řádek to tam rozbije (a žádný simple
workaround). Je nějaké simple řešení, jak includovat CSS soubor, aniž bych
ho musel modifikovat? Jediný způsob, který zatím vidím, je mít dva
duplikátní CSS soubory, jeden s {contentType}
a jeden bez něj,
což je hnus.
Ideální by bylo něco typu:
{include 'style.css'|contentType:'css'}
Editoval maral (2. 11. 2016 16:57)
- maral
- Člen | 25
Používáme to do emailů přes nějakou knihovnu, která vyzobe css ze souboru a hodí to tam inline, a to se tím rozbije. A knihovna se mi nechce hackovat. A navíc se mi vůbec nelíbí, že se Nette jen tak rozhodlo, že se má vrážet do JS či CSS či libovolných dalších souborů něco, co nepatří do syntaxe daného jazyka, i když se to může poté používat pro různé jiné účely…
- maral
- Člen | 25
Ten CSS soubor je ve skrytém adresáři mezi zdrojáky, jelikož jej načítám ze zdrojáků a rvu ho tím Emogrifierem do emailů, a logicky ten soubor patří k těm zdrojákům. Když nad tím přemýšlím, tak to skrytí možná není úplně nutné, na druhou stranu, stále jsem neslyšel dobrý důvod, proč nejde vypnout ten contentType warning. Nebo jde? Nějak lokálně, čistě pro tento případ?
Editoval maral (30. 11. 2016 17:08)
- David Matějka
- Moderator | 6445
content type warning afaik vypnout nejde.
proc to ale nacitas jako latte soubor pres include makro? obsah precti normalne pres nejaky file_get_contents