Venne:CMS – volné CMS pro Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pepakriz
Člen | 246
+
0
-

Co máš na v @reservation.reserveContent v parametru class? Mělo by tam být něco jako:

class: CmsModule\Content\ContentType('ReservationModule\Entities\PageEntity')
v6ak
Člen | 206
+
0
-

Aha, takže název třídy obalit do CmsModule\Content\ContentType('...'). Díky moc.

tany
Člen | 31
+
0
-

Ahoj, v CMS modulu, při vytváření statické stránky server vrací 500, když se nevybere rodič stránky. Pokud chceš výstup z laděnky, můžu kdyžtak dodat.

pepakriz
Člen | 246
+
0
-

Víc mě teď ale štve, že nemůžu nastavit oprávnění. Upravím to, nezobrazí se žádná chyba, ale neuloží se to. Čím to může být? Popř. jaké informace mám poslat?

Blbá chyba, opraveno (https://github.com/…1369197dd585)

Ahoj, v CMS modulu, při vytváření statické stránky server vrací 500, když se nevybere rodič stránky. Pokud chceš výstup z laděnky, můžu kdyžtak dodat.

Nyní se musí vždy vybrat nadřazená stránka. (https://github.com/…1e5b39c7a4b0)

Editoval pepakriz (14. 3. 2013 11:39)

pepakriz
Člen | 246
+
0
-

Po delší odmlce je opět dostupné demo projektu. Informace najdete v prvním příspěvku.

Jestli se někomu podaří demo rozbourat, o čemž nepochybuji, nemusíte mít obavy, náprava je snadná. Časem umístím obnovu do cronu, ale zatím potřebuji změřit průměrnou dobu života :D.

mlok
Člen | 13
+
0
-

Může mi nikdo ze zkušenějších uživatelů Venne poradit, jak tady fungují redirecty?

Rád bych se dostaz o úroveň výše, z nějakého modulu s vlastní url adresou
třeba http://demo.venne.cz/…di-na-plochu nebo http://demo.venne.cz/…prvni-clanek

Zkošel jsem snad už všechno a stále se mi to nedaří.
Ani v šabloně, ani v presenteru osvědčené

$this->presenter->redirect(…);
$this->redirect(…);

mi nefungují. Nebo nevím, co správně napsat namísto … .

Díky.

pepakriz
Člen | 246
+
0
-

@mlok:

Odkazy a redirecty se určují podle routy, kterou je třeba předat jako parametr. Několik ukázek:

Redirect na nadřazenou stránku

$this->redirect('this', array('route' => $this->page->parent->mainRoute));

Redirect na nadřazenou routu

$this->redirect('this', array('route' => $this->route->parent));

Odkaz na jinou stránku

$pageEntity = $this->pageRepository->findOneBy(...);
$this->link('this', array('route' => $pageEntity->mainRoute));
Helda
Člen | 10
+
0
-

Zdravím Vás,

mám problém při vytváření stránky. Chvíli beží spinner, následně zmizí a již se dál nic neděje. Žádná exception ani zápis v error.log. Toto se děje ve firefoxu.

V chromu to má stejný průběh jako ve firefoxu. Akorát to vygeneruje do logu exception (ale jen prázdný soubor). V error.log je zpráva „Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 196950 bytes)“. Když zvednu memory limit, tak to skončí, na execution timeout. Když zvednu čas běhu scriptu, tak se spinner točí v podstatě do nekonečna.

OS: Linux
PHP: verze 5.3.10

Díky za radu. Případně za nakopnutí.

pepakriz
Člen | 246
+
0
-

@Helda: Měl jsem tam nepříjemné zacyklení. Proveďte composer update a mělo by být vše v pořádku.

Helda
Člen | 10
+
0
-

Díky, potvrzuji funkčnost.

v6ak
Člen | 206
+
0
-

Díval jsem se, jak je to se změnou hesla (uživatel sám sobě). Admin tu možnost má. Jinému uživateli jsem se to oprávnění snažil přidělit, ale vypadá to spíš jako oprávnění na změnu administrátorského hesla. Umí to Venne, nebo si to musím případně napsat?

pepakriz
Člen | 246
+
0
-

v6ak: Stránka s profilem uživatele+jeho editace zatím není dostupná. Sice se dá přidělit právo na editaci uživatelů, ale nedá se přidělit oprávnění jen na sebe.

Jestli máš chuť můžeš poslat pull.

ic
Člen | 430
+
0
-

Neměla by šablona HeadControl.latte jít taky přetěžovat vzhledem z jiného layoutu? Viz. tady tato nápověda: https://github.com/…ms/themes.md#…

Protože ostatní z https://github.com/…e/Components mi jdou jen ta proklatá HeadControl.latte nic.

Docela by se mi to zrovna u téhle hodilo, je to škoda takhle, že nejde.

pepakriz
Člen | 246
+
0
-

@ic: Aby bylo možné přetěžovat šablonu komponenty podle layoutu, je třeba aby dědila z CmsModule\Content\Control. Jenže taková komponenta spoléhá na PagePresenter, neboli na frontend. Nemohl bych ji pak využívat v administraci.

Zapřemýšlím nad nějakým vhodným řešením.

Issue: https://github.com/…le/issues/20


Vyřešeno: https://github.com/…dde0f528f2c6 a https://github.com/…ab835e85d3e8

Editoval pepakriz (19. 4. 2013 14:18)

pepakriz
Člen | 246
+
0
-

v6ak napsal(a):

Díval jsem se, jak je to se změnou hesla (uživatel sám sobě). Admin tu možnost má. Jinému uživateli jsem se to oprávnění snažil přidělit, ale vypadá to spíš jako oprávnění na změnu administrátorského hesla. Umí to Venne, nebo si to musím případně napsat?

Aktuální verze obsahuje kartu přihlášeného uživatele. Mimo zobrazení informací o uživateli umí údaje editovat. Pomocí oprávnění lze nastavit, jestli si uživatel může měnit jenom základní informace (heslo, avatar) nebo kompletní údaje (role, …).

v6ak
Člen | 206
+
0
-

Díky.

pepakriz
Člen | 246
+
0
-

Vývojová řada 2.1.x

Jelikož v posledních několika týdnech došlo k většímu přepisu systému, rozhodl jsem se vytvořit novou vývojovou větev. V původní řadě 2.0.x budu opravovat nahlášené chyby, nových vychytávek se v ní však nedočkáte.

Změny a nové funkce:

  • tagování obsahu,
  • jednoduché vyhledávání na frontendu,
  • uživatelské profily na frontendu,
  • nové typy stránek a úpravy ve stávajících: registrace, přihlašování, media, uživatelé, tagy,…
  • robustnější řešení přetěžování šablon všeho druhu (layoutů, presenterů, komponent,…),
  • hezčí defaultní vzhled ;)
  • instalační proces vytváří základní kostru webu,
  • přihlašování přes sociální sítě,
  • automatická minimalizace js/css (přechod na webloader),
  • řízená publikace/expirace stránek, náhled před vydáním,
  • kategorizace typů stránek,
  • lepší podpora multijazyčnosti,
  • větší sortiment rozšiřujících modulů,
  • oprava chyb.

Demo s aktuální verzí je připraveno, nic tedy nebrání si CMS vyzkoušet ;)

pepakriz
Člen | 246
+
0
-

Venne:CMS 2.1.0 beta2

Novinky:

  • Port administrace na Bootstrap 3.
  • Možnost psát vlastní téma pro administraci.
  • Makro n:ifLinkExists pro testování existence odkazu.
  • Editor kódu pro šablony.
  • Velké množství drobných vylepšení a oprav.

Ke stáhnutí archivy: https://github.com/…ule/releases

Uvítám jakoukoliv pomoc: nápady, připomínky nebo hlášení chyb :)

Prokop
Člen | 31
+
0
-

Zdravim,
nainstaloval jsem po menších problémech CMS, ale po bezproblémové instalaci mi háže chybu, kterou nevim jak eliminovat…

Co s tím?

WebLoader\FileNotFoundException

File 'C: mpp\htdocsenne/www/resources/jquery2.0Module/jquery.js' does not exist. search►
Source file ▼

File: ...\vendor\janmarek\webloader\WebLoader\FileCollection.php   Line: 58

48:         $rel = Path::normalize($this->root . "/" . $path);
49:         if (file_exists($rel)) {
50:             return $rel;
51:         }
52:
53:         $abs = Path::normalize($path);
54:         if (file_exists($abs)) {
55:             return $abs;
56:         }
57:
58:         throw new FileNotFoundException("File '$path' does not exist.");
59:     }
60:
61:
62:     /**

Přitom ve složce „C:\xampp\htdocs\venne\www\resources\jquery2.0Module“ soubor jquery.js existuje…
Moje url: http://localhost/venne/www/admin/cs/installation

Editoval Prokop (16. 9. 2013 18:38)

pepakriz
Člen | 246
+
0
-

Prokop: Jakou instalaci jsi zvolil? Podle chyby to vypadá, že jsi instaloval verzi se symlinky na hostingu, který symlinky nepodporuje.

Prokop
Člen | 31
+
0
-

pepakriz napsal(a):

Prokop: Jakou instalaci jsi zvolil? Podle chyby to vypadá, že jsi instaloval verzi se symlinky na hostingu, který symlinky nepodporuje.

Instaloval jsem přes composer dle návodu v prvním postu tohoto vlákna:

Instalace
Přes Composer

composer create-project venne/sandbox:2.0.x-dev myApp && cd myApp
composer require venne/cms-module:2.1.x [--prefer-dist]
php www/index.php venne:module:update
php www/index.php venne:module:install cms [--noconfirm]

Bod po bodu jsem postupoval přesně…

Editoval Prokop (16. 9. 2013 19:07)

pepakriz
Člen | 246
+
0
-

File ‚C: mpp\htdocsenne/www/resources/jquery2.0Module/jquery.js‘ does not exist. search

Tady vidím, že se ta adresa nějak deformovala. Můžeš zjistit zdroj chyby?

Prokop
Člen | 31
+
0
-

pepakriz napsal(a):

File ‚C: mpp\htdocsenne/www/resources/jquery2.0Module/jquery.js‘ does not exist. search

Tady vidím, že se ta adresa nějak deformovala. Můžeš zjistit zdroj chyby?

Pokusim se… Ale nejsem ve formě, vrátil jsem se k nette zase po půl roce, takže to asi trochu potrvá, než najdu zdroj… Taky je možný, že mám chybu u sebe, ale ReqChecker mi hlásí vše v pohodě.

pepakriz
Člen | 246
+
0
-

Chyba bude v CMS, bude souviset s tím, že Windows používá odlišnou syntax cest.

Prokop
Člen | 31
+
0
-

pepakriz napsal(a):

Chyba bude v CMS, bude souviset s tím, že Windows používá odlišnou syntax cest.

Jestli ti něco blíž řekne Error log?

[2013-09-16 20-14-11] PHP Notice: Undefined index: require in C:\xampp\htdocs\venne\vendor\venne\framework\Venne\Module\ComposerModule.php:121  @  cli: www/index.php venne:module:update
[2013-09-16 20-14-11] PHP Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\venne\vendor\venne\framework\Venne\Module\ComposerModule.php:121  @  cli: www/index.php venne:module:update

Kompletní Error log
Nejvíc mě zaujala sekce Nette App > Presenters – všechny cesty jsou divně…

Editoval Prokop (16. 9. 2013 20:34)

v6ak
Člen | 206
+
0
-

Pokud si dobře pamatuju, na Windows můžeš lomítka kombinovat, jak je libo.

Hlavně se mi nezdá to „C: mpp“. Vypadá to, jako by si někam do PHP zapsal cestu a neescapoval. Tzn. že „\xa“ bere jako znak 0×0A, tedy vlastně „\n“.

EDIT: A vlastně to vypadá, že ta chyba se nemusí projevit vždy, závisí to asi na cestě. Chyba se nejspíš projeví, když cesta bude obsahovat „\t“, „\n“, „\r“, „\x<hexa*>“ apod. Nezkoušel jsem.

Editoval v6ak (16. 9. 2013 20:33)

Prokop
Člen | 31
+
0
-

v6ak napsal(a):

Hlavně se mi nezdá to „C: mpp“. Vypadá to, jako by si někam do PHP zapsal cestu a neescapoval.

Mám čistou instalaci xamppu, jediné kde se možná pracuje s php je při instalaci modulů?
Viz.:

php www/index.php venne:module:update
php www/index.php venne:module:install cms [--noconfirm]

Jinak jsem v ničem nic ručně neupravoval, pokud post byl mířen na mě…

v6ak
Člen | 206
+
0
-

Spíš si říkám, že se někam do PHP (asi cache) nejspíš uložila absolutní cesta "C:\xampp\...". Jenže zpětné lomítko může fungovat na escapování znaků, jak jsem psal.

pepakriz
Člen | 246
+
0
-

Vyřešeno (https://github.com/…le/issues/69), díky za report!

v6ak
Člen | 206
+
0
-

Nebylo by lepší místo '$path' psát ".var_export($path)."? Funkce var_export se dá totiž použít k escapování řetězců.

pepakriz
Člen | 246
+
0
-

v6ak napsal(a):

Nebylo by lepší místo '$path' psát ".var_export($path)."? Funkce var_export se dá totiž použít k escapování řetězců.

Přiznám se, že netuším, k čemu by to bylo dobré.

v6ak
Člen | 206
+
0
-

Je to rozdíl mezi "'".$s."'" a var_export($s) ($s je řetězec). Pokud v $s budou speciální znaky (\ nebo '), může se první varianta chovat nekorektně.

pepakriz
Člen | 246
+
0
-

Jo jasně! Asi jsem si stál na vedení. Upravil jsem…

Prokop
Člen | 31
+
0
-

Mailform a Newsletter – odesílání emailu
Při potvrzení odeslání emailu vyjede hláška „Success“, ale email nepřijde… Zkoušel jsem posílat na 2 Seznam maily.
Ovšem se chci ještě zeptat, jestli je nějaký rozdíl, že mail odesílám z xamppu na svém lokálním pc – to by snad nemělo mít vliv, ne? Maily odesílá přímo phpko…?

//add1: Registrace s ověřením přes email háže taky chybu (Error 500) bez error logu, ještě nevím jestli kvůli emailu nebo něčemu jinému… Každopádně i přesto to uživatele zaregistruje, ale při přihlášení háže „špatné heslo“. V přehledu uživatelů je uživatel povolen. Uživatel který má být schválen adminem je také povolen.

Editoval Prokop (20. 9. 2013 12:07)

ic
Člen | 430
+
0
-

Ty Windowsy se svými lomítky! XD

Prokop
Člen | 31
+
0
-

ic napsal(a):

Ty Windowsy se svými lomítky! XD

Tobě to funguje v pohodě na NEWin?

ic
Člen | 430
+
0
-

Prokop napsal(a):

Tobě to funguje v pohodě na NEWin?

Na linuxovém serveru mi to jede krásně, ale mé lokální Win mi neustále pijou krev… hlavně, když ten projek spouštím lokálně a netbeansy ho synchronizují se vzdáleným linuxovým serverem.
Třeba cesty path v settings.php :

'path' => 'C:\\xampp\\htdocs\\venne-19-9-2013\\vendor\\venne\\assets-module',

musím neustále přepisovat na:

'path' => '%libsDir%/venne/assets-module'

a s databází ještě horší… Win mi nedovolí (ani ručně přepsat to na ně nejde) camelCaps v názvech tabulek, tak je to prostě všechno malým a všechno to funguje, jenže když přenesu databázi na Linuxový server, tak tam velikosti písmen musí být přesně a proto je polovina tabulek nedostupných a musí se zase přepisovat. Prostě Windowsy no.

pepakriz
Člen | 246
+
0
-

ic: Můžu tě poprosit o detailnější popis prvního problému do issue trackeru? Jména tabulek vyřeším.

Editoval pepakriz (20. 9. 2013 15:16)

ic
Člen | 430
+
0
-

pepakriz napsal(a):

ic: Můžu tě poprosit o detailnější popis prvního problému do issue trackeru? Jména tabulek vyřeším.

Zkusil jsem to co možná nejlépe popsat tady: https://github.com/…le/issues/79 a s tou databází, to bude asi nejsnazší bude prostě tabulky pojmenovávat s podtržítky, ne? Díval jsem se, že už některé tam podtržítka mají, jiné jsou cammelCaps. Tak to nějak sjednotit na podtržítkách a je po problému.

Ivorius
Nette Blogger | 119
+
0
-

Jaká verze nette je podporována? Zkusil jsem instalaci přes composer a nahodilo mi to 2.0.x, je možné to používat s alespoň nette 2.1 ?

pepakriz
Člen | 246
+
0
-

Ivorius: Pro verzi 2.1.x budu muset udělat několik změn a také počkat na portaci některých doplňků. Proto zatím zůstávám u verze 2.0.x. Každopádně přechod na 2.1.x bych rád provedl hned, jakmile to bude technicky možné.

Ivorius
Nette Blogger | 119
+
0
-

Dle návodu jsem vše nainstaloval, spustil projekt v prohlížeči a dostal se na stránku, kde mám zadat administrátorský účet. To jsem udělal, uložilo se to do config.neon ale dále se nic neděje (žádná flashMessage, exception – vůbec nic). Když zkusím jít na index tak mě to neustále vrací na /www/admin/cs/installation – je potřeba nastavit ještě něco dalšího?

pepakriz
Člen | 246
+
0
-

Ivorius: Byla tam drobná chyba v instalačním procesu. Proveď update a zkus znovu:

composer update [--prefer-dist]
Ivorius
Nette Blogger | 119
+
0
-

Díky, povedlo. V rychlosti jsem si to proklikal, ale např. v administraci u Role Manager nefungují tlačítka pro editaci a oprávnění – koukal jsem do firebugu „NetworkError: 500 Internal Server Error – http://localhost/…min/cs/roles?…“ což je v laděnce:

Undefined variable: this
193: if ($_this->mode === $this::MODE_PLACE) {

pepakriz
Člen | 246
+
0
-

Ivorius: Udělal jsem několik úprav kompatibility s PHP 5.3. Každopádně s přechodem na Nette 2.1 plánuju vyžadovat alespoň PHP 5.4 ve prospěch traitů. Ze strany hostingů by to už neměl být problém.

Další nalezené chyby prosím hlas přímo do issue trackeru: https://github.com/…odule/issues

pepakriz
Člen | 246
+
0
-

Venne:CMS 2.1beta4

Co je nového?

  • nové typy stránek (RSS, výpis uživatelů podle rolí)
  • přílohy: prostory (globální, stránka, routa), implementace oprávnění
  • zálohování db přes cmd nebo přímo v administraci
  • funkce zapomenutí hesla na stránce s přihlášením
  • Nové elementy (image, thumbnail), nové argumenty (mode, langMode)
  • Authentizace: možné nastavit automatické přihlašování a registrací (pomocí login providerů)
  • Lightbox přidává volbu pro generování miniatur s lightboxem přímo v editoru (http://www.youtube.com/watch?…)
  • Vylepšeno kešování. Mnohé stránky při opakované návštěvě nepotřebují databázi.
  • Opět vylepšena podpora multijazyčného webu.
  • Nespočet dalších drobných vylepšení a oprav.

Stahovat můžete zde: https://github.com/…2.1.0-beta.4

Společně s novým vydáním je aktualizováno i demo.

ic
Člen | 430
+
0
-

Zdá se, že nefungují ty odkazy na stáhnutí hotových balíčků z demo.venne.cz

pepakriz
Člen | 246
+
0
-

ic: Že já tam raději nedal lorem ipsum :D, opraveno.

ic
Člen | 430
+
0
-

Snažím se předělat něco staršího do (administrace) Venne a nevím, jestli to vůbec půjde… poradí někdo?

mám asi takovéto tabulky:

first

id and_others
1 „sadf asgt yuf…“
2 „kldf lkjkl ;lk“
3 „ljklkjnlkd fgg“

a second

first_id third_id price quantity
2 25 51000 3
2 453 11000 1
2 156 9000 1
1 13 1200 25
1 453 11000 1
9 56 17000 1
9 156 9000 1

a dotaz:

	SELECT a.*,
	SUM(b.price * b.quantity) AS price,
	GROUP_CONCAT(b.third_id SEPARATOR '&') AS third_ids
	FROM first AS a
	INNER JOIN second AS b
	ON a.id = b.first_id
	GROUP BY b.first_id

získám něco jako:

id and_others price third_ids
1 „sadf asgt yuf…“ 41000 13&453
2 „kldf lkjkl ;lk“ 173000 25&453&156

Jenže když tohle nasázím do createComponentTable() tam v tom grido pak nejde hledání, řazení a filtrování, protože v tabulce first nejsou ty položky z druhé tabulky. V entitě second tam ta návaznost na first napsaná je, jenže tohle asi k ničemu nepomůže.

Půjde tohle nějak udělat?

pepakriz
Člen | 246
+
0
-

ic: Mělo by to jít pomocí druhého argumentu v Doctrine driveru pro grido – nějak takto: https://github.com/…eFactory.php#L50