Szervusztok!
Nekem egy olyan problémám lenne, hogy a ckeditor-al készített oldalban a szerkesztőben mutatott kép más mint a megjelenő oldalon (pozíció problémák).
Van valakinek ötlete, hogy mit lehetne tenni, hogy a szerkesztőben látott kép egy az egyben jelenjen meg az oldalon a mentés után.
Megtisztelő válaszotokat várva.
Köszönettel:
Miki
Drupal verzió:
Fórum:
Saját CSS-fájlt adj hozzá a CKEditor iframe-hez!
Szia!
A probléma alapja az, hogy a CKEditor alapvetően iframe-et használ az oldalon belül, ami lényegében egy különálló oldal egy másikba beágyazva, és ehhez a különálló oldalhoz nem ugyanazokat a stylesheeteket (CSS-fájlokat) használja fel a CKEditor alapértelmezésben, mint amiket azon az oldalon használsz, amibe be van ágyazva a szerkesztőfelület. Ebből következően tehát a szerkesztett szöveg kicsit másképp fog kinézni, mint ahogyan a node ténylegesen megjelenik. Ezért is lesz jó az új inline CKEditor a Drupal 8 core-ban, mert annál ez a probléma nem fog előfordulni.
Én erre kerülő megoldást alkalmaztam, szintén a CKEditort felhasználva, ami nálam be is vált: a megfelelő CKEditor-profil(ok)nál be kell állítani, hogy egy saját stylesheetet használjon fel; ebben a stylesheetben pedig @import segítségével majd importáljuk a szükséges stylesheeteket.
Most leírom részletesebben:
elnavigálsz ide:
admin/config/content/ckeditor/edit/Advanced
Editor CSS
mezőnél kiválasztani ezt:
Define CSS
Ez az aktuális sminked CSS-könyvtára legyen! (Általában simán css, bár egy-két sminknél sajnos a főkönyvtárba vannak behányva a fájlok.) Oda fogjuk berakni ezt a még létrehozandó fájlt.
Ilyen legyen:
%hsites/all/themes/SAJÁTSMINKEDNEVE/css/all-in-one-import.css
SAJÁTSMINKEDNEVE értelemszerűen behelyettesítendő.
Itt a
%h
az a hostnévhez tartozó placeholder (lásd a súgót: Available placeholders: %h – host name (/), %t – path to theme (/themes/seven/).). Szándékosan van "egyben" asites
-szal!! (%hsites
).(Azért nem a %t-t használom fel, mert ha az admin-smink jelenik meg a szerkesztéshez, én az iframe-ben akkor is azt a stílust szeretném látni, ami a végleges megjelenésnél lesz látható, tehát az ahhoz a sminkhez tartozó könyvtárba pakolom a fájlt.)
Létrehozzuk a fájlt, amiben importálva vannak a stylesheetek. Ehhez meg kellene nézned, hogy amikor megnyitod az oldaladat, akkor milyen CSS-fájlok vannak include-olva a sminkből, csak egy példa, ha megnézed az oldalad forráskódját:
@import url("http://example.hu/sites/all/themes/SAJÁTSMINKEDNEVE/css/pages.css?mfsfk5");
(aggregált CSS-nél nyilván ez más lesz,
<link>
taggel include-olva)A fájl tartalma pedig valami ilyesmi lesz (én Zen alsminket használok, az arra jellemző stílusfájlok elérési útjai szerepelnek itt):
Az elérési utakat (pl. SAJATSTILUSFAJL.css itt azért szerepel, mert az nem a Zen alsmink egyik alapértelmezett fontos stylesheetje) és az utóbbi pár sort is változtasd meg úgy, ahogy nálad vannak a CSS-fájlok. Ahogy itt látható, mindig az adott könyvtárhoz képest relatív útvonalakat adok meg.
all-in-one-import.css
néven.Remélem sikerül, ha valami nem érthető, nyugodtan kérdezz rá.
Nagyon szépen köszönöm a
Nagyon szépen köszönöm a válaszod!
Szívesen! :) Sikerült végül?
Szívesen! :)
Sikerült végül?
Elnézésedet kérem!
Kedves Péter
Bocsánatodat kérem, hogy nem reagáltam, de sajnos nem igazán voltam itthon.
Hamarosan letesztelem, de mivel nagyon alapos a leírásod, remélem sikerülni fog.
Neked már egyébként sikerült valamelyik applikációdban elfoglalható megoldást találni?
Köszönettel és szívélyes üdvözlettel:
Richter Miklós
Igen, ezt aktívan használom is!
Kedves Miklós!
Semmi gond!
Igen, én a fenti beállításokat aktívan használom is egy oldalon, és nagyon jól bevált! Így már eleve úgy néznek ki a dolgok (akkorák a margók, paddingek pl. a
<p>
elemnél, stb.), ahogy a végleges megjelenítésnél. :)Szívesen!
Péter
Kedves Péter!
Kedves Péter!
Ez remek akkor hamarosan tesztelem és megszűnik ez a gond.
Tényleg korrekt részletes leírás, nagyon nagyon köszönöm, remek munka és segítség.
Szívélyes üdvözlettel:
Miki
Kérdés
Kedves Péter!
Belenéztem és ezeket találtam, akkor ezeket mind helyettesítsem be az általad írt css filébe és mentsem a megadott all-in-one-import.css fileként?
Válaszod előre is köszönöm.
Szívélyes üdvözlettel:
Miki
Nálad kevesebb lépésből is megoldható!
Kedves Miklós!
Megnéztem az oldaladat, és úgy láttam, hogy a Te oldalad fő stílusfájlját ez az egy
torpesun_last/style.css
fájl képezi, mert abban rengeteg stílus-meghatározás van, és a többit kitörölve sem esik szét az oldalad (Chrome-ban próbáltam ki, megnyitva a developer toolbart (F12), majd a<head>
részből kikeresve a megfelelő CSS-fájlokat, és azokon jobb klikk, majd "Delete node" egyesével, míg végül csak a legutolsó CSS-fájl maradt, vagyis atorpesun_last/style.css
, és így is helyesen jelent meg az oldal), így nálad még egyszerűbb lesz a helyzet, kevesebb lépésből is meg tudod oldani (az én esetem a Zen smink használatára vonatkozik, ami szét van szabdalva "téma" szerint csoportosítva külön-külön CSS-fájlokra, így azokat mind include-olni kell a megfelelő működéshez): a 4-es pontig minden ugyanaz, majd a 4-es pontban a "CSS file path"-nál ezt az útvonalat add meg:%hsites/all/themes/torpesun_last/style.css
Az 5-ös, 6-os lépést nyugodtan kihagyhatod, mert nálad elméletileg ennek a fájlnak a megadása is már elegendő lesz, úgyhogy a fenti megadása után mentsd el az adott CKEditor profilt, és elvileg készen is vagy.
Remélem, sikerül!
Üdv.
Péter
Köszönet
Kedves Péter!
Nagyon köszönöm a részletes és érthető válaszod. Igazán irodalmi és jól fogható.
Sajnos csak ma este tudom megcsinálni, mert vidékem vagyok egyéb elfoglaltságom miatt.
Holnap beszámolok az eredményről.
szívélyes üdvözlettel:
Richter Miklós
Elképzelhető, hogy mégis marad az eredeti elképzelés
Kedves Miklós!
Szívesen! Rendben, nyugodtan, próbáld ki akkor, amikor majd időd lesz rá!
Még kiegészítésként annyit hozzátennék, hogy amennyiben mégis szükség van további stílusok hozzáadására, hogy ténylegesen közel ugyanúgy jelenjen meg a CKEditor szerkesztőfelületén maga a szerkesztett tartalom (mert például az egyes tartalmi elemek hátterét szeretnéd megjeleníteni, ami eltér az oldal fő hátterétől, és nálad a CKEditorban mégis az utóbbi látszik), akkor minden marad az eredetiben, az 5-ös és 6-os pontok is állnak, azt leszámítva, hogy az újonnan létrehozandó fájlba nem a sok
@import
kezdetű sort rakod, hanem az új kódjaidat; a 4-es pontban pedig az újonnan létrehozandó fájl elérési útját kell megadni (nem a style.css-t - de pl. a style.css mellé betehetsz egy új fájlt, és annak az elérési útját adod meg).Csak azért mondom előre, mert nem garantált, hogy a szerkesztőfelületben megjelenő szöveg a style.css megadásával még pont ugyanúgy fog kinézni, mint a végleges tartalom, így esélyes, hogy mégis szükség lesz egyedi fájl szerkesztésére, ebben az esetben pedig tényleg marad az eredeti elképzelés, csak saját igényeidhez igazítva.
Sok sikert!
Kedves Péter!
Kedves Péter!
Már majd nem tökéletes, de a képeknél van némi gond.
Ha balra igazításban van és értelem szerűen van némi szöveg emelet akkor, a szerkesztőben jónak látszó kép az oldalon a szöveg felugrik.
Oldalnézetben:
És így néz ki editorban:
Lenne valami tipped?
Köszönettel:
Miki