Autor | Zpráva | ||
---|---|---|---|
Rodgers23 Profil |
#1 · Zasláno: 20. 7. 2015, 14:14:05
Nevíte náhodou, jak mám zobrazit libovolný článek z databáze tak, aby to bylo i s novým odstavcem, tak jak to je v databázi? Mám to do bloku a není to moc pěkné
|
||
juriad Profil |
#2 · Zasláno: 20. 7. 2015, 14:20:43
To záleží na tom, jak máš v databázi uložené odstavce. Často se do databáze ukládá přimo HTML (tedy každý odstavec bude začínat <p>, případně nějaký jiný jazyk, který se do HTML převádí. Jednou takovou často možností je kódování nového odstavce jako odvojité odřádkování, které se v PHP nahradí za značku <p>.
|
||
Rodgers23 Profil |
#3 · Zasláno: 20. 7. 2015, 15:17:52
Aha, tak to mám někde problém, protože mě se v databázi žádné odstavce nezobrazují. Když to vložím přes textarea tak se mi uloží jen text bez žádných tagů
|
||
juriad Profil |
#4 · Zasláno: 20. 7. 2015, 15:18:29
Rodgers23:
Znovu, co je odstavec? Odřádkování? |
||
Rodgers23 Profil |
#5 · Zasláno: 20. 7. 2015, 15:29:24 · Upravil/a: Rodgers23
Jo sory, měl jsem na mysli odřádkování, ale nenapadlo mě to slovo. Teď jsem na netu našel toto... Textarea zachovava radkovani - respektive za kazdy uzivatelem zadany enter odesila sekvenci "\n"....No jenže mě se nic neodesílá
Tím myslím že se mi ukládá jen text bez sekvenci |
||
juriad Profil |
#6 · Zasláno: 20. 7. 2015, 16:07:32
Podle mě to ukládá i s tím odřádkováním, jen je to těžké vidět, protože HTML považuje odřádkování jen za mezeru.
Můžeš použít funkci nl2br, která nahradí odřádkování pomocí \n za <br>, což sice není odstavec, ale použít to jde. Jinak si můžeš napsat svůj vlastní regex pro preg_replace, který by to dělal lépe (třeba spojoval více odřádkování do jednoho). |
||
Rodgers23 Profil |
#7 · Zasláno: 20. 7. 2015, 22:16:01
Tak jsem nějak maturoval, ale nepřišel jsem na nejvhodnější způsob, jak tam funkci nl2br do mého skriptu začlenit.
Mám controller: $this->group->toTags( 'group_' ); require_once( FRAMEWORK_PATH . 'models/topic.php' ); $topic = new Topic( $this->registry, $topic ); if( $topic->getGroup() == $this->groupID ) { $topic->toTags( 'topic_' ); $sql = $topic->getPostsQuery(); $cache = $this->registry->getObject('db')->cacheQuery( $sql ); $this->registry->getObject('template')->getPage()->addTag('posts', array( 'SQL', $cache ) ); $this->registry->getObject('template')->buildFromTemplates('groups/view-topic.tpl.php' ); } else { $this->registry->errorPage( 'Neplatné téma', 'Požadované téma je neplatné'); } který volá models Topic, kde mám funkci, z níž tahám data z databáze: public function getPostsQuery() { $sql = "SELECT p.*,p.post FROM posts p, profile pr WHERE pr.user_id=p.creator AND p.topic=" . $this->id . " ORDER BY p.ID ASC"; return $sql; } A teď, kde to tam mám vložit? Text, který chci odřádkovat je v p.post. Byl bych velmi vděčen za každou radu |
||
Keeehi Profil |
#8 · Zasláno: 20. 7. 2015, 23:17:20
Rodgers23:
Nejlépe v groups/view-topic.tpl.php. Ten jsi ovšem neukázal. Hodilo by se napsat i jméno frameworku. Ne každý zná všechny. |
||
Rodgers23 Profil |
#9 · Zasláno: 21. 7. 2015, 07:33:17
Tady je. Text, který chci odřádkovat je v {post}:
<table width="800"> <tr> <td width="200" bgcolor=""> <img src="views/default/images/6.jpg" height="100"/> <p><font size="2">Přidal <a href="profile/view/{ID}">{creator_name} {creator_surname}</a></p> <p>{friendly_created_post}</em></font></p> </td> <td width="600" bgcolor=""> {post} </td> </tr> </table> |
||
anonymníí Profil * |
#10 · Zasláno: 21. 7. 2015, 08:20:04
Rodgers23:
Jaký šablonovací systém to je? Dokumentace neexistuje? Třeba ve smarty by to bylo {post|nl2br} Třeba to u tebe bude podobné. |
||
Rodgers23 Profil |
#11 · Zasláno: 21. 7. 2015, 13:20:38 · Upravil/a: Rodgers23
Jjo,je to šablonovací systém. používám MVC architekturu. No, budu muset nějak na to přijít, protože jak to máš ty, tak mi to nefunguje
Tak jsem to vyřešil jednoduše, ale možná až moc jednoduše...Nebude to dělat bordel? <p style="white-space: pre">{post}</p> |
||
Bubák Profil |
#12 · Zasláno: 21. 7. 2015, 15:37:25
|
||
Keeehi Profil |
#13 · Zasláno: 21. 7. 2015, 18:56:17
Tak jsem googlil a dogooglil jsem se, že to je framework napsaný podle knihy. Knihu k dispozici nemám, dokumentace taky nikde není, takže bych ještě zkusil
{nl2br(post)} ale to bude nejspíš taky špatně. Mám z toho pocit, že ten systém je celkem dost jednoduchý, takže je dost možné, že to prostě neumí. Já bych tedy přešel na nějaký framework, který má alespoň dokumentaci.
|
||
Časová prodleva: 9 let
|
0