Autor Zpráva
ivosisko
Profil
Chtěl bych v programu WinOrganizer upravit jeden tiskový výstup, který je napsaný v HTML. Zkoušel jsem to, ale nějak se mi nevede, takže bych rád, kdyby mi někdo poradil. Mám sice obavy, že podklady, které zde chci přiložit, budou nedostatečné, ale za pokus to stojí (alespoň načerpám trochu teorie a vědomostí :) ). Teď se ale dívám, že zde nejde přiložit soubory. Takže jinak.

Výstupem tiskového formuláře je tabulka, která má 3 sloupce a jeden z nich hovoří o tom, kolik dnů zbývá do "Události", přičemž aktuální datum (dnešní) je nahrazeno výrazem "Dnes". Byl bych rád, kdyby se barva fontu změnila na červenou.

Zde je HTML kod onoho tiskového výstupu:

[%%ReportType=Events%%]
[%%ReportCaption="Events"%%]
[%%ReportDescription=""%%]


[%%HEADER%%]

<html>
<head>
<title>%%ReportTitle%%</title>
<META http-equiv=Content-Type content="text/html; charset=%%Charset%%">
</head>
<BODY bgcolor=#FFFFFF leftmargin=5 topmargin=5 rightmargin=5 bottommargin=5>
<FONT size=8 color=#000000 face="Arial">


#%%ImgCaption%% 
<STRONG>%%Caption%%</STRONG> 
</FONT>
#<hr>


<TABLE border=1 cellpadding=3 width="100%" cellspacing=0>
  <tr bgcolor="#C8EBC7">
#   <td width="18"><P align=center>&nbsp;</td>
    <td width="80"><P align=center>@@date@@</td>
    <td width="80"><P align=center>@@daysleft@@</td>    
    <td >@@Title@@</td>           
#   <td width="60">@@Age@@</td>
  </tr>

#==============================================================================
[%%ROWTABLE%%]

  <tr bgcolor="%%BGColor%%">
#   <td width="18"><P align=center>%%Alarm%%</td>
    <td width="80"><P align=center> <font color=%%FontColor%%> $$date$$     </font> </td>        
    <td width="80"><P align=center> <font color=%%FontColor%%> %%daysLeft%% </font> </td>
    <td> %%IgnoreHtmlTitle%%</td>           
#   <td width="60"><P align=center> <font color=%%FontColor%%> $$Age$$      </font> </td>
  </tr>              

#==============================================================================
[%%COMMENTS%%]

#<TR bgcolor="%%BGColor%%">
#  <td colSpan=5> %%Comments%%</td>
#</TR>
  

#==============================================================================
[%%FOOTER%%]
</body>
</html>



Ještě bych podotkl, že proměnná, jejiž barvu chci měnit je tato: %%DaysLeft%% - (doufám tedy, že je to proměnná)
peta
Profil
<font color=%%FontColor%%> text </font>
<FONT color=#ff0000> text </FONT>
http://www.jakpsatweb.cz/html/text.html#font
<span style="color: red"> text </span>
http://www.jakpsatweb.cz/css/color.html
ivosisko
Profil
Díky peto za reakci.........já ale do těch HTML a jiných kodů v podstatě čumím poprvé a tak "studuju" a "šňupu", ovšem najednou to vše pojmout neumím. Proto se bez mučení přiznám, že nevím do kterého místa toho kodu to mám strčit a jestli za ten "text" dosadit proměnnou (ale to se domnívám, že by zčervenaly všechny údaje onoho sloupce) anebo hodnotu (v daném případě "Dnes" (nebo její angl. ekvivalent - ten bych ještě musel někde vyšňupat). Díky za případné doplnění.
Joker
Profil
peta [#2]:
Vůbec jsem nepochopil, co má tohle znamenat a jak to souvisí s problémem, který má ivosisko.

ivosisko:
Má to tedy vypadat tak, že jestliže %%DaysLeft%% je "dnes", má to být červeně, jinak černě? To asi přes HTML nepůjde, neumí podmínky ten šablonovací systém?
Případně by to šlo udělat Javascriptem, jestli to je možnost.
ivosisko
Profil
Joker: ta šablona, jako taková, to neumí......právě proto to chci ošetřit její úpravou - v první větě jsi můj "problém" pojmenoval přesně - to, že HTML nepodporuje větvení pomocí podmínky jsem zjistil a zkoušel jsem to pomocí PHP, ale neúspěšně - přece jen, jsem v tom naprostý laik (ale snaživý :) )

Dík, Ivo
Tori
Profil
ivosisko:
Šlo by použít hodnotu, která je v %%DaysLeft%%, jako CSS třídu. Např. pokud v té proměnné bude "0" pro dnešní události:
[%%HEADER%%]
<html>
<head>
<title>%%ReportTitle%%</title>
<META http-equiv=Content-Type content="text/html; charset=%%Charset%%">
<style type="text/css">
   td font { color: %%FontColor%% }
   td font.datum-0 { color: red }
</style>
</head>
[%%ROWTABLE%%]
 
  <tr bgcolor="%%BGColor%%">
#   <td width="18"><P align=center>%%Alarm%%</td>
    <td width="80"><P align=center><font>$$date$$</font> </td>        
    <td width="80"><P align=center><font class="datum-%%DaysLeft%%">%%DaysLeft%%</font></td>
    <td>%%IgnoreHtmlTitle%%</td>           
#   <td width="60"><P align=center> <font>$$Age$$</font> </td>
  </tr>
peta
Profil
ivosisko:
<font color=%%FontColor%%> text </font>
<FONT color=#ff0000> text </FONT>
znamena...
<font color=%%FontColor%%> %%daysLeft%% </font> (... radek 38, tento text, nahradit za tento text ...)
<font color=#ff0000> %%daysLeft%% </font>
Taky najdi odvahu si precist 3 stranky v tech odkazech. Druha, zaporna moznost, je ti cely ten text prekopirovat sem nebo se ti pokouset valstnimi slovy vysvetlit, co je tam celkem dobre napsane.
Mozna lepsi od Tori, mozna chces jen "Dnes" zmenit na cervenou a ne cely sloupec. To je tezko rici, ten popis je nepresny, muze mit vice moznosti vykladu.

Tori:
Rikal, ze kdyz je to nula, tak mu to tam napise Dnes a ne 0. Jestli to spravne chapu.
Joker
Profil
peta:
ten popis je nepresny, muze mit vice moznosti vykladu.
I původní popis je srozumitelnější, než „řešení“ v [#2], navíc od [#5] je to upřesněné na:
jestliže %%DaysLeft%% je "dnes", má to být červeně, jinak černě“.
To mi přijde naprosto jednoznačné.

ivosisko:
Řešení od Tori by mělo fungovat, nebo potom Javascript.
ivosisko
Profil
Tori:Tak po několika pokusech se mi to povedlo pomocí Tvého řešení "rozchodit" - drobný problém byl, že jsem neuměl zjistit co se do té proměnné %%DaysLeft%% ukládá a jak se to do toho sloupce překladá (to zřejmě dělá WinOrg někde na pozadí) a tak jsem tu nulu pokusně nahrazoval různými hodnotami, až nakonec zabralo Dnes. Chvíli jsem i zápasil s myšlenkou, že ten kousek kodu class by měl být uvozen nějakými znaky jako signál, že se chvíli budeme pohybovat v prostředí css - ale zřejmě to není nutné :)

Peto: věř mi, že než jsem tu napsal, tak jsem několik webů pročetl (včetně toho Tebou avízovaného) a chtěl jsem si dokázat, že tak jednoduchou věc zvládnu :o Spadl jsem ale z nebe nedostatečně učený :)

V každém případě všem děkuji za snahu a za pomoc - jdu dál přemýšlet nad vylepšeními, abych Vás zase mohl s něčím otravovat :D
peta
Profil
Joker: Jenze on chtel vysvetleni ke #2, to jsem zakladal na #1, #5 jeste neexistovalo.
Reseni od Tori fungovat nemuze, protoze rikal, ze pro %%daysLeft%% = 0 nedava 0, ale Dnes. Coz ale nakonec sam poresil. Je to vymyslene elegantne s css, se mi to libi.
Tori
Profil
peta:
Reseni od Tori fungovat nemuze, protoze rikal, ze pro %%daysLeft%% = 0 nedava 0, ale Dnes
Psala jsem: „Např. pokud v té proměnné bude "0" pro dnešní události: “ a (správně) předpokládala, že je tazatel dostatečně inteligentní, aby pochopil, jak spolu souvisí ta dvě zvýrazněná místa, a dosadil si tam [jakoukoli jinou] hodnotu, kterou ta proměnná skutečně bude obsahovat. Nedávala jsem mu řešení, nýbrž způsob řešení, postup. Čímž bychom rozdíl mezi "0" a "Dnes" mohli, doufám, uzavřít.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: