-Ìåòêè

armored warfare armored warfare ïðîåêò àðìàòà dojki mstar mstar àêöèè mstar íîâîñòè mstar îáíîâëåíèÿ neverwinter neverwinter online neverwinter online àêöèè neverwinter online îáíîâëåíèÿ panzar panzar îáíîâëåíèÿ royal quest royal quest àêöèè tera online titan siege war thunder war thunder îáíîâëåíèÿ warface world of tanks wot àçàìàò áèøòîâ àëüôà êàðòà àíæåëèêà íà÷åñîâà áàíêîâñêèå êàðòû âèäåî÷àòû äåáåòîâàÿ êàðòà àëüôà äåáåòîâàÿ êàðòà àëüôà áàíêà äåáåòîâûå êàðòû äåçèíñåêöèÿ äåçèíñåêöèÿ íèæíèé íîâãîðîä äåçèíñåêöèÿ íí äîéêè äîéêè êîì äîéêè îíëàéí èãðû êàðòà àëüôà áàíêà êóïèòü íîóòáóê ïåíçà êóïèòü íîóòáóê ïåíçà áó ìàãàìåò äçûáîâ ìàãîìåä äçûáîâ ìóðàò òõàãàëåãîâ íîâîñòè ïåíçû íîóòáóêè íîóòáóêè ïåíçà ïåíçà ïåíçà âèäåîôèêñàöèÿ íàðóøåíèé ïåíçà äèçåëü ïåíçà äòï ïåíçà êðàæè ïåíçà íàðêîòèêè ïåíçà íåòðåçâûé âîäèòåëü ïåíçà îòêëþ÷åíèå âîäîñíàáæåíèÿ ïåíçà îòêëþ÷åíèå âîäû ïåíçà îòêëþ÷èëè âîäó ïåíçà ðàäàðû ïåíçà ðàäàðû àðåíà êðèñ-ï ïåíçà ðîçûñê ïåíçà ñïàéñ ïåíçà õîêêåé ïåíçåíñêàÿ îáëàñòü ïåíçåíñêàÿ îáëàñòü äòï ïåíçåíñêàÿ îáëàñòü êðàæè ïåíçåíñêèé ïåíçåíöû ñóðà ñóðñêèé óíè÷òîæåíèå íàñåêîìûõ óíè÷òîæåíèå òàðàêàíîâ

 -Ïîäïèñêà ïî e-mail

 

 -Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â vitaly80

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 30.08.2006
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 9085


Ïðîåêò íà Plone 2.5

Ñðåäà, 31 Îêòÿáðÿ 2007 ã. 10:29 + â öèòàòíèê
×òîáû íå çàáûòü è äëÿ òåõ, êîìó ìîæåò ïîíàäîáèòüñÿ!

Íà÷àëî...

×òî ñäåëàíî

Ñîçäàí òåñòîâûé ïîðòëåò portlet_business

Ñäåëàí îí íà îñíîâå portlet_news è ïîìåùåí â ïàïêó portal_skins/custom

Ýòîò ïîðòëåò ñäåëàí äëÿ òåñòèíãà. Â íåì ïîäðàçóìåâàåòñÿ àãðåãàöèÿ äåëîâûõ íîâîñòåé. Äóìàåòñÿ, íà îñíîâå åãî áóäóò ñîçäàíû îñòàëüíûå ïîðòëåòû. Íàïðèìåð, âåðõíèé ïîðòëåò, ãäå áóäåò àãðåãèðîâàòüñÿ ñàìàÿ èíòåðåñíàÿ èíôîðìàöèÿ. Èëè äðóãèå (ñòàòüè òàì, ðåïîðòàæè, äà è èç äðóãèõ ðóáðèê: ïîëèòèêà, îáùåñòâî, êðèìèíàë è îñòàëüíîå).

×òî áûëî èíòåðåñíîãî:

 ëåíòå íîâîñòåé êàðòèíêè äåëàëèñü èç image_thumb. Íà÷àë èñêàòü. Ïîèñê ïî ñîäåðæèìîìó (êîíòåéíèíã). âûäàë portal_skins/plone_content/folder_summary_view (Summary view). Íà÷àë åãî ãëÿäåòü.

Î÷åíü èíòåðåñíûì ïîêàçàëîñü ìåñòî



Âçÿë åãî:

Âìåñòî èêîíî÷êè ïîñòàâèë



Áåç ãåòîáæåêòà() âûäàåò îøèáêó èëè îäèíàêîâûå (åñëè íà íîâîñòè - òî èìåííî ýòîé íîâîñòè) êàðòèíêè.

Ïîòîì (âåðíåå äî ýòîãî) îáðàìèë â òàáëèöó âíóòðåííîñòü ïîðòëåòà. Òî åñòü êàæäàÿ íîâîñòü ñ êàðòèíêîé ñòàëà ñòðîêîé ñî ñòîëáöîì. Èíà÷å êàðòèíêè íàëàæèâàþòñÿ äðóã íà äðóãà.

Òóäó: ñåé÷àñ íîâîñòè áåðóòñÿ â ïîðòëåò âñå. Êñòàòè, òîò ïîðòëåò, êîòîðûé áûë ñäåëàí, áûë ïðîïèñàí â Plone (èìÿ ïîðòàëà) - âêëàäêà ïðîïåðòèç è â ëåâûå ñëîòû êàê here/portlet_business/macros/portlet. Ïîýòîìó íà÷àë îòîáðàæàòüñÿ. Òàê âîò. Íóæíî âìåñòî âûçîâà îáû÷íîé ôóíêöèè (êëàññà), ñäåëàòü, ÷òîáû âûçûâàëñÿ Ïîðòàë_ñåàð÷ äëÿ íóæíîãî ìåñòà. Ãäå-òî ýòî óæå ñäåëàíî, íóæíî ïîèñêàòü. (ïî-ìîåìó, òàê ñäåëàíî â ïîðòëåò-íüþç).

Äàëåå íóæíî ñäåëàòü âåðõíèé ñëîò. Ëèáî âðó÷íóþ, èëè åãî íóæíî áóäåò ïðîïèñûâàòü â ñâîéñòâàõ ïîðòàëà.

×å åùå? Ñäåëàë ãëóáèíó âèäèìûõ ýëåìåíòîâ â íàâèãàöèè 3??? Çà÷åì òàê ìíîãî? Âðîäå ìîæíî 2 íî ÷åãî-òî íå ïîëó÷àëîñü. ÏÎýòîìó ñäåëàë 3 è îòìåíèë â îòîáðàæàåìûõ ýëåìåíòàõ âñå, êðîìå ïàïîê, áîëüøèõ ïàïîê è ïðîãðàììèðóåìûõ ïàïîê.

Àõ, äà.

Îòêàñòîìèë /Plone/portal_skins/custom/columns.css

Ñäåëàë

#portal-column-one {
vertical-align: top;
width: "50em">;
}

#portal-column-two {
vertical-align: top;
width: "50em">;
}

50 åì - ïîéäåò. Òîëüêî ñå-ðàâíî ñäâèãàåòñÿ ÷åãî-òî âñå. Ïðè÷åì, ïëîíå ïî-íà÷àëó, ñàìîå îáèäíîå, íå ïîêàçûâàë îòêàñòîìëåííîãî. Ïðèøëîñü ïëîíå ñíåñòè è ïîñòàâèòü çàíîâî. Ïîñëå ýòîãî âñå ñòàëî íîðìóëü. Âðîäå.

Åùå òóäó:

Íóæíî ïîïðîáîâàòü îòêàñòîìèòü ÐÑÑ, òàê êàê â ïëîíå ïî-óìîë÷àíèþ ÐÄÔ (ýòî êîíå÷íî, êðóòî, íî íå äëÿ ÿíäåêñà - äëÿ àðòëåáåäåâà ýòî âåðõ êðóòîñòè :)

Çàìåòèë, êñòàòè, ÷òî ïðè CTRL+S â áëîêíîòå êóðñîð óõîäèò íåñêîëüêî âëåâî. :(

×åãî-òî åùå õîòåë íàïèñàòü - íå ïîìíþ

11 îêòÿáðÿ.

Ñäåëàë åùå îäèí ïîðòëåò (èíòåðâüþ). Òåñòèðóþ äàòó (÷òîáû ïîêàçûâàë âðåìÿ, à íå äàòó)

May 5

Õîòåë ïåðåèìåíîâàòü ññûëêó (íàïèñàòü "Èíòåðâüþ"), âûäàë îøèáêó, ïîõîæå íå õî÷åò âîñïðèíèìàòü ðóññêèé ÿçûê. Å-ìîå.

×èíþ ÐÑÑ. Äàòó èñïðàâèë íà ðôö822

Modification date

Äàëüøå ïðè÷åñûâàþ. Óáèðàþ íåíóæíîå è ïðèâîæó ðäô1 ê ðññ2. Åñòü èíòåðåñíûå ïëþøêè, íàïðèìåð âîò òàê ðåàëèçîâûâàåòñÿ ñèòóàöèÿ, êîãäà ó îäíîé íîâîñòè íåñêîëüêî ñàáæåêòîâ


Item

 ïðèíöèïå ó íîâîñòè ìîæåò áûòü íåñêîëüêî ÷åãî ÷åãî ìíîãî, íàïðèìåð, êàðòèíîê èëè êàòåãîðèé (òèïà, áèçíåñ, îáùåñòâî, åùå ÷åãî...)

Åùå èíòåðåñíîå òóäó: êàê äåëàòü êàììåíòû â ïëîíå? íà òàëå?


Òàê? ëÿëÿëÿ?


áåç replace="nothing" ÷åãî-òî ïëîõî îòðàáàòûâàë!

Ïðèøëîñü êàñòîìèòü

è /Plone/portal_skins/custom/rss_template

è /Plone/portal_skins/custom/RSS

Øàïêó îí áåðåò èç RSS. À êîíòåíò èç rss_template

Êòî îí?
áåç

xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"

ðóãàåòñÿ íà ýêñïàò!

Äàëüøå. ×å èíòåðåñíî, îáû÷íûå ïàïêè íåëüçÿ ðññ-ñèòü. Òàêèì îáðàçîì, ïðèøëîñü äåëàòü ïðîãðàììèðóåìûå (ó íèõ ÐÑÑ ïîçâîëåíî).

Íàïðèìåð, ñîçäàë ïðîãðàììèðóåìóþ ïàïêó "Äåëîâûå íîâîñòè", êðèòåðèè ïîèñêà - èñêàòü â ïàïêå (è ïîäïàïêàõ) Business äîêóìåíòû òèïà Íîâîñòü. Òî åñòü äâà êðèòåðèÿ ïîèñêà - ìåñòîïîëîæåíèå è òèï. Åñëè òèï íå óêàçûâàòü, òî ïîêàçûâàåò ñàìó ïàïêó.

À, åùå ñìîòðþ êðèòåðèè äëÿ NEWS - åùå íóæíî ñîñòîÿíèå

Åùå ãëÿæó íà ïîðÿäîê ñîðòèðîâêè - òàì ïî äàòå âñòóïëåíèÿ â ñèëó è îáðàòíûé ïîðÿäîê

Èíòåðåñíî, äëÿ NEWS êàðòèíêè åñòü, à äëÿ îáû÷íîé ïðîãðàììèðóåìîé ïàïêè - íåò :(

Íàäî ñäåëàòü, ÷òîáû ó êàæäîé ïðîãðàììèðóåìîé ïàïêè ðÿäîì ñ îïèñàíèåì íîâîñòè áûëà êàðòèíêà (åñëè îíà åñòü, êîíå÷íî). CTRL+S èäåò íà 3 ñèìâîëà íàçàä.

Åùå òóäó: RSS äëÿ ÿíäåêñà ñ yandex:full-text. Òîëüêî îòêóäîâà áðàòü ýòîò ôóëë-òåêñò è íóæíî ñïåöèàëüíûé øàáëîê Page temlate, íàïðèìåð yandex-rss, ñäåëàòü åãî íà îñíîâå øàáëîíà RSS, òîëüêî îí æå èñïîëüçóåò rss_template. Êàê-òî íóæíî ïîíÿòü: êàê îíè äðóã ñ äðóãîì ñâÿçûâàþòñÿ?! Èëè æå ñäåëàòü îäèí ñêðèïò, ãäå áóäåò âñå, è íå èñïîëüçîâàòü ìàêðî?

×åãî-òî âñå â îäíîì íå ïîëó÷àåòñÿ. Òàì ÷åãî-òî ìíîãî âñåãî äèôàéíèòñÿ! :(
Ùà ñäåëàþ êîïèþ è òîãî è äðóãîãî è ïîäïðàâëþ.

rss_template ñòàë rss-fulltext_template
RSS ñòàíåò ñåé÷àñ rss-fulltext.

Òåïåðü íóæíî rss-fulltext_template ïðàâèòü íàñ÷åò ïîëíîãî òåêñòà íîâîñòè. Âçÿòü åãî â øàáëîíå îòîáðàæåíèÿ íîâîñòè. Ùà ïîñìîòðèì, êàê ýòà ïåðåìåííàÿ (èëè ôóíêöèÿ) íàçûâàåòñÿ.

Ãëÿäèì
/Plone/portal_skins/plone_content/newsitem_view

è âèäèì



Òàê, âñòàâëÿåì è óãîðàåì. Ìåíÿþ, äóìàþ: â ÷åì ÿ äóðàê? À îêàçûâàåòñÿ íàäî ëèíêè íà ìàêðîñû â íîâûõ øàáëîíàõ èñïðàâèòü. âûçûâàþ rss-fulltext à îí èñïîëüçóåò ñòàðûé rss_template, à íàäî rss-fulltext_template.

Ïðàâëþ rss-fulltext.


ìåíÿþ íà


Âñòàâëÿåì â rss-fulltext_template

Full text for yandex.news

(ïîêà ïóñòü â òåãå áóäåò äåñêðèïøí, êîòîðûé ìû çàìåíèì íà ïîëíûé òåêñò íîâîñòè).

Âûäàåòñÿ îøèáêà. Ïîñëå íåêîòîðûõ ìó÷åíèé äîáàâëÿåì â çàãîëîâîê

xmlns:yandex="http://news.yandex.ru"

Î, òåïåðü îí ïîíèìàåò. È ìû íåìíîãî íà÷èíàåì âúåçæàòü.

Òàê, ïåðåìåííàÿ text â íîâîñòíîì øàáëîíå îïðåäåëÿåòñÿ âíà÷àëå êàê
text python:here.CookedBody(stx_level=2)

Áóäåì èñïîëüçîâàòü CookedBody(stx_level=2).

Òàêèì îáðàçîì ïîëíûé òåêñò äëÿ ÿíäåêñà áóäåò âûãëÿäåòü òàê:
Full text for yandex.news

Âñ¸ îòëè÷íî. Ïîëíûé òåêñò ôèãàðèòñÿ!

Ìîæíî åùå ñäåëàòü Êàòåãîðèÿ, ïî òèïó: îáùåñòâî, ïîëèòèêà.


Êñòàòè, åñëè ñäåëàåì â âèäå ñòðóêòóðû, òî òåãè ñîõðàíÿþò âèä (÷òî ïîêà íå íàäî, íî íóæíî çàïîìíèòü).
Full text for yandex.news

Òàê, ñ ÐÑÑ íåìíîãî ðàçîáðàëèñü, ÿíäåêñ áóäåò äîâîëåí.

Òàê. Ïîðòëåòû è äðóãèå ïëþøêè íóæíî ïðèâÿçàòü ê ïðîãðàììèðóåìûì ïàïêàì.

Åùå íóæíî ïîñìîòðåòü øàáëîí äëÿ îòîáðàæåíèÿ ïðîãðàììèðóåìûõ ïàïîê. Ïîõîæå, ÷òî ïî óìîë÷àíèþ èñïîëüçóåòñÿ òî æå ñàìîå, ÷òî äëÿ îáû÷íûõ ïàïîê, òî áèøü

/Plone/portal_skins/plone_content/folder_listing

Ñåé÷àñ ïîãëÿäèì.

Êàñòîìàéçèì.

Íàì òàêæå íóæíî, ÷òîáû áûëà âðåìÿ + äàòà (äàòó â ïðèíöèïå ìîæíî îïóñêàòü, åñëè îíà ñåãîäíÿøíÿÿ, õîòÿ íå îáÿçàòåëüíî). Âðåìÿ äîëæíî áûòü ÷àñû:ìèíóòû. + äîëæíà áûòü êàðòèíêà, åñëè îíà åñòü!

Åùå èíòåðåñíî. Íà ãëàâíîé ñòðàíèöå ëåíòà íîâîñòåé ñîñòîèò èç ñêîëüêè ýëåìåíòîâ? À íà ñòðàíèöå íîâîñòåé ñêîëüêî ýëåìåíòîâ?

Íà ðîñáàëòå íà ãëàâñòðàíèöå 25 íîâîñòåé.

 íîâîñòÿõ ðîñáàëòà 100 ýëåìåíòîâ. óõ, äîëãî ñ÷èòàë!

Òàê, ñîçäàåì ïàïêè è ïðîãðàììèðóåìûå ïàïêè:

Ïîëèòèêà, Ýêîíîìèêà, Îáùåñòâî, Ïðîèñøåñòâèÿ.

×åãî-òî ïàïîê è ïðîãðàììèðóåìûõ ïàïîê òó÷à. Ïîëó÷àåòñÿ, íàïðèìåð, ìû íàõîäèìñÿ â
http://localhost/intervyu
à ïåðåõîäèì â
http://localhost/interview/penzency-opasayutsya-ogranicheniya-vesennei-ohoty/

Çàïóòàíî ïîëó÷àåòñÿ.

 ïðèíöèïå, ïðîãðàììèðóåìàÿ ïàïêà - ýòî î÷åíü õîðîøî. È ðññ íàëàæåíî. Íî çà÷åì íàì äóáëèêàò, åñëè åñòü îáû÷íàÿ ïàïêà? Ýõ.

Îååé, êîãäà äåëàåì äëÿ ïàïêè îáîáùåííûé âèä, ïîêàçûâàåòñÿ êàê íîâîñòè.
îáîáùåííûé âèä íàçûâàåòñÿ folder_summary_view. Áëèí, ñäåëàòü áû ñâîé âèä è âûáèðàòü åãî è ïîñòàâèòü ïî óìîë÷àíèþ.

Òàê, íóæíî îáðàòèòü âíèìàíèå íà ôóíêöèþ isCurrentDay() êëàññà DateTime


12 îêòÿáðÿ.

Ñìîòðþ /Plone/portal_skins/plone_templates/colophon

êîëîôîí - ýòî ñåêöèÿ, â êîòîðîé íàõîäÿòñÿ çíà÷êè (ïëîíå, àêñåññèáèëèòè, ýíèáðàóçåð, öññ è ò.ä). Ýòîò êîëîôîí íàõîäèòñÿ â ñàìîì íèçó ñòðàíèöû (â ïîäâàëå). Òóäà íóæíî çàòîëêàòü êîïèðàéòû è ìíåíèå ðåäàêöèè. Òàêæå ìîæíî ïîêà çàòîëêàòü íèæíèå ññûëêè (àðõèâ, ïîèñê è äð.). Ïîïðîáóåì.

Òàê, ñìîòðèì, ÷òî òàì â êîëîôîíå. Òàì îïðåäåëÿåòñÿ ìàêðî



ýòîò äèâ îáðàìëÿåò ïðàêòè÷åñêè âñþ ñòðàíèöó.

âíóòðè íåãî âèäèì ñëîò



î÷åíü èíòåðåñíî!

ìàêðî, à âíóòðè ñëîò.

Áëèí, ïî÷åìó íà ðóññêèé ÿçûê ðóãàåòñÿ!

Çàòîëêàë òóäà îáû÷íûå ëèíêè â þë ëè íà àíãëèéñêîì. Òóäà íóæíî çàòàëêèâàòü

Ñìîòðþ /Plone/portal_skins/plone_templates/main_template

Ýòî ãëàâíûé øàáëîí, ãäå âûçûâàþòñÿ âñå ìàêðî. íàïðèìåð, òîò æå êîëîôîí:


The colophon area - contains details about the production of
the site. Typically "powered by" buttons, standards, tools used.



here/colophon - ýòî íàçâàíèå øàáëîíà

macros/colophon - íàçâàíèå ìàêðîñà

çàáóáåíèë /Plone/portal_skins/custom/raznocvet

â íåì



  • Archive

  • ...

    id="portal-colophon" íàì äàåò îôîðìëåíèå ïåðå÷èñëåíèÿ ãîðèçîíòàëüíî. Íóæíî ïîñìîòðåòü â ñòèëÿõ, êàê ýòî äåëàåòñÿ, ÷òîáû îïðåäåëèòü ñîáñòâåííûé èä.

    Çàòåì êàñòîìëþ /Plone/portal_skins/custom/main_template

    â íåì âûçûâàþ


    test raznocvetniye ssilki!


    âñå ïîëó÷èëîñü.

    Òåïåðü íàäî â raznocvet ñäåëàòü âûáîðêó ññûëîê. Íàïðèìåð, ñäåëàòü ïàïêó òèïà links, à â íåé îáúåêòû-ññûëêè. Çàòåì ïðîéòèñü ïîèñêîì ïî êàòàëîãó â ïàïêå links è âûáðàòü ýëåìåíòû òèïà ññûëêè. Òîëüêî âîò ÷òî! Ïîðÿäîê êàêîé áóäåò? ìîæíî ëè áóäåò ïåðåìåùàòü ýòè ññûëêè? Î÷åíü èíòåðåñíî!

    òàê, ïàïêó links ñîçäàë. Åå, êîíå÷íî, íóæíî óáðàòü èç íàâèãàöèè.

    Íàñîçäàâàë òóäà ññûëîê. Ïîïðàâèë /Plone/portal_skins/custom/raznocvet

    Ïðîõîæó ïî êàòàëîãó â ïîèñêàõ ññûëîê. Êñòàòè, ñîðòèðîâêà êàê â ôîëäåðå ñäåëàíà â ïîðòëåòå íàâèãàöèè. Íóæíî ñåé÷àñ ïîñìîòðåòü åãî.

    Òåêñò ññûëêè áåðåòñÿ êàê title, õîòÿ ïðàâèëüíî pretty_title_or_id
    url áåðåòñÿ êàê getRemoteUrl

    ñîðòèðîâêà êàê íàäî ïðîèñõîäèò ïî getObjPositionInParent, íàâåðíîå. Íàøåë ýòî â ôàéëå getFolderContents.py. Ùà íàäî ïîïðîáîâàòü!

    Äà!

    Òàêèì îáðàçîì êîä ìàêðîñà â raznocvet ïîëó÷èëñÿ òàêîé:







    Î÷åíü èíòåðåñíûé êîä íàõîäèòñÿ â /Plone/portal_skins/plone_content/folder_listing

    Òàê!!! Ïî îáðàçó è ïîäîáèþ ññûëîê íóæíî ñäåëàòü íèæíèå ññûëêè (â êîëîôîíå, õîòÿ ïî-íîðìàëüíîìó êîëîôîí íóæåí äëÿ ïîâåðåä áàé). Òàêæå äåëàþòñÿ íàñòîÿùèå ðàçíîöâåòíûå ññûëêè íà íîâîñòè (çàãîëîâêè). Õîòÿ èõ, íàâåðíîå íóæíî áðàòü ïî êàêîìó-òî êëþ÷ó, òàê áóäåò ëó÷øå. Íàïðèìåð, êëþ÷ áóäåò "raznocvet". È áóäóò âûáèðàòüñÿ, íàïðèìåð, 5 ïîñëåäíèõ ðàçíîöâåòíûõ çàãîëîâêîâ. ×åòíûå ññûëêè ïîïðîáóåì ñäåëàòü îðàíæåâûìè! Î÷åíü õîðîøèé öâåò #FF3300

    À, ÷å çàáûë! Ëèíêè âåðõíèå, ÷òîáû îòëè÷àòü îò, íàïðèìåð, íèæíèõ è äðóãèõ, íóæíî èñêàòü ïî êàòàëîãó â îòäåëüíîé ïàïêå. Òàê ÷òî íóæíî åùå çàäàòü ìåñòî ïîèñêà!

    Ðàáîòàþ íàä ìåñòîì äëÿ ïîèñêà.

    portal/getPhysicalPath âûäàåò ñïèñîê. ñäåëàë áû join, äà íåëüçÿ. Äîëæíà áûòü ôóíêöèÿ, êîòîðàÿ âûäàâàëà áû ïóòü â íîðìàëüíîì ñëåøåâîì âèäå!

    Îõ, äîëãî ìó÷èëñÿ! Äîëãî èñêàë ïî ïîèñêó! Íàøåë! Âïèñûâàþ ýòó ïëþøêó




    Ýòî äëÿ òåñòèíãà. Îòîáðàæàåò ïóòü ê ïîðòàëó ñîåäèíÿÿ ñ /links

    Â ïîèñê ïî êàòàëîãó âñòàâëÿþ ýòî!

    Òåïåðü âñå çå.

    tal:define="mypath portal/portal_url/getPortalPath;
    mypath python:'/'+str(mypath)+'/links';
    results python:portal.portal_catalog.searchResults(
    portal_type='Link',
    path=mypath,
    review_state='published',
    sort_on='getObjPositionInParent');
    results python:[r for r in results if r.getObject()]"

    links - ýòî ïóòü, ãäå èñêàòü âñå íóæíûå âåùè. Òåïåðü ìîæíî ýòî ïðèìåíèòü ê ëþáîìó ïîðòëåòó. È ê ëþáûì ññûëêàì (íàïðèìåð, íèæíèì). Ùà áóäó äåëàòü íèæíèå ññûëêè, êîòîðûå áóäó èñêàòü â ïóòè links_bottom

    Èòàê, ðåäàêòèðóþ êîëîôîí!

    Âñå ïîëó÷èëîñü. çàìåíèë â èñõîäíîì links íà links_bottom è âñå çå!


    Åùå ÷å ïîäóìàë. Äåñêðèïøí è òåêñò íîâîñòè.  ïëîíå ïî óìîë÷àíèþ â ïðîñìîòðå íîâîñòè îòîáðàæàåòñÿ è äåñêðèïøí (æèðíûì), è òåêñò. Åñòü äâà âàðèàíòà. Ëèáî òåêñò íîâîñòè ïèñàòü êàê ïðîäîëæåíèå. Íî òîãäà ôóë-òåêñò â ÿíäåêñå áóäåò òîëüêî èç ïðîäîëæåíèÿ è íàäî áóäåò êàê-òî ñêëåèâàòü. Ëèáî äðóãîé âàðèàíò. Ïèñàòü äåñêðèïøí. È ïîëíûé (ñ äåñêðèïøíîì) òåêñò íîâîñòè. Íî â øàáëîíå äëÿ îòîáðàæåíèÿ íîâîñòè óáðàòü ïîêàç äåñêðèïøíà.

    ×òî ëó÷øå - íå çíàþ.

    ðåäàêòèðóþ /Plone/portal_skins/plone_content/newsitem_view. Íî òîãäà íàäî áóäåò ïîïðàâèòü è äðóãèå øàáëîíû (íàïðèìåð, äîêóìåíò_âüþ). ÍÅ ÇÀÁÛÒÜ!!!

    Åùå íóæíî â øàáëîí äëÿ ïðîñìîòðà íîâîñòè çàáóáåíèòü âðåìÿ ïóáëèêàöèè.

    Åùå ïîäïðàâèòü êàðòèíêó. (ñäåëàòü åå ñëåâà è îáòåêàòü òåêñòîì).

    Òàê. Äåñêðèïøí óáðàë (çàêîììåíòèë).

    Ó êàðòèíêè ñòèëü css_class='newsImage'

    Ãäå îòîáðàæàòü äàòó?
    python:toLocalizedTime(here.ModificationDate(),long_format=1) - äàòà â ôîðìàòå

    2007-10-12 15:22

    Íî ïðè ìîäèôèêàöèè äàòà ìåíÿåòñÿ. Íóæíî äàòó ïóáëèêàöèè

    Äàòó ïóáëèêàöèè íàì âîçâðàùàåò EffectiveDate().

    Çíà÷èò íóæíî äåëàòü òàê:

    python:toLocalizedTime(here.EffectiveDate(),long_format=1)

    ×å çàìåòèë: ôóíêöèè íà÷èíàþòñÿ ñ çàãëàâíîé áóêâû, àòðèáóòû - ñî ñòðî÷íîé.

    object_title - çàãîëîâîê íîâîñòè.

    Òàê.

    Ïîäâàë (êîïèðàéòû è ò.ä.) ìîæíî ñäåëàòü, åñëè òåêñò çàáèòü â äîêóìåíò, à ïîòîì åãî ïîêàçûâàòü.

    Òàê, äåëàåì äîêóìåíò.  ïðèíöèïå, îí ìîæåò îñòàòüñÿ ïóáëè÷íûì ÷åðíîâèêîì, ÷òîáû íå ìàÿ÷èòü â ëåíòàõ.

    Ñîçäàåì ïàïêó, íàïðèìåð, Templ â êîðíå. Èñêëþ÷àåì åå èç íàâèãàöèè.  íåå ïèõàåì äîêóìåíò, íàïðèìåð, copyrights. Òàê, äîêóìåíò ñîçäàëè.

    Òåïåðü èäåì â êîëîôîí.

    Êàê âçÿòü îáúåêò, åñëè èçâåñòåí ïóòü äî íåãî, è îò ýòîãî îáúåêòà âçÿòü êóêåäáîäè? Íàâåðíîå, åñòü ôóíêöèÿ, íî ÿ åå íå íàøåë. Ìîæåò, ïëîõî èñêàë.

    Èäåì â ëîá. Äåëàåì ïîèñê ïî êàòàëîãó ñ ïóòåì Templ/copyrights è âûáèðàåì äîêóìåíò. Áåðåì òîëüêî îäèí ýëåìåíò.

    Ïîñëå äîëãèõ ìó÷åíèé âîò ÷å ïîëó÷èëîñü:



    ñopyrights!!!



    Îòîáðàæàåòñÿ âñå êàê íàäî. ß æå ãîâîðèë ðàíåå, ÷òî structure ïîíàäîáèòñÿ... Òàê è âûøëî.

    Â ïðèíöèïå, íèæíèå ññûëêè òîæå ìîæíî çàáèòü â ýòîò äîêóìåíò. È âåðõíèå òîæå. Ïîñìîòðèì, êàê áóäåò óäîáíåå!

    Òàê. Äåëàåì ðàçíîöâåò. Âçÿë ïàðó äîêóìåíòîâ, â ñâîéñòâàõ äîáàâèë êëþ÷åâîå ñëîâî raznocvet

    Òåïåðü èäåì, íàïðèìåð â raznocvet è ïóëÿåì òóäà ïîèñê ïî êàòàëîãó íîâîñòåé ñ êëþ÷îì ðàçíîöâåò. Ñîðòèðîâêà ïî äàòå ðåâåðñíàÿ.

    Êîðî÷å, âñå ñäåëàë, ùà îïèøó

    Â ðàçíîöâåòå çàáóáåíèë





    lalala raznocvet




    Òî åñòü, áåðåòñÿ 5 ïîñëåäíèõ îïóáëèêîâàííûõ íîâîñòåé ñ êëþ÷îì raznocvet è îòîáðàæàåòñÿ. Åñëè íîâîñòü ÷åòíàÿ, òî ññûëêà êðàñíàÿ, èíà÷å - ãîëóáàÿ. Ñòèëè çàäàåì â òàáëèöå ñòèëåé.

    Ýòî äîáàâëÿåì â /Plone/portal_skins/custom/public.css, õîòÿ, íàâåðíîå, ìîæíî è â êàñòîì êàêîé-íèáóäü.
    #raznocvet_red {
    color: #FF3300;
    }

    #raznocvet_blue {
    color: #0066CC;
    }

    Öâåòà îáàëäåííûå. È ìîäíûå. Íàäî áû âåñü ñàéò ñäåëàòü â ýòèõ òîíàõ!

    Òàïåðè÷à íåîáõîäèìî îòîáðàçèòü ãëàâíûå òåìû äíÿ. Ìîæíî òàêæå ïî êëþ÷ó. Êëþ÷ áóäåò, äîïóñòèì, main

    Íóæíî îòêóñòîìèçèòü êàêîé íèáóäü øàáëîí ñ ìàêðî. Ïåðåíàçâàòü øàáëîí è ìàêðî. È âûçûâàòü ýòó ìàêðó èç main_template.

    Áåðåì øàáëîí ðàçíîöâåò, êîïèðóåì. Êîïèþ ïåðåèìåíîâûâàåì â main_themes. Âñå òàì íå ÷èñòèì. Ñìîòðèì âíèìàòåëüíî.

    Áëÿ, èñïðàâèë ðàçíîöâåò.

    Âðîäå âñå èñïðàâèë. Âñå, êàê íàäî. Ñî ñòèëÿìè åùå ïðåäñòîèò ïîèãðàòüñÿ, òàì îòñòóïû îò êàðòèíîê è ò.ä.

    Âîò êîä ìàêðî â /Plone/portal_skins/custom/main_themes












    lalala raznocvet


    lalala raznocvet



    Ýòó ìàêðó âûçûâàåì èç /Plone/portal_skins/custom/main_template êàê ïîêàçàíî íèæå:


    main themes table!


    Âûçûâàåì äî


    Íå çàáûòü!!! Òóäó: Åñëè íåò êàðòèíêè - íå÷åãî åå ïîêàçûâàòü!!! Ýòî ãäå-òî åñòü.  øàáëîíàõ.

    30 îêòÿáðÿ.

    Ïðàâèì CSS.

    1. Íóæíî, ÷òîáû êàðòèíêà â íîâîñòè áûëà ñëåâà.

    /Plone/portal_skins/custom/public.css

    Íàõîäèì. Ïðàâèì.

    .newsImageContainer {
    float:left;
    /* float:right; */
    margin: 0 1em 0.5em 0;
    /* margin: 0 0 0.5em 1em;*/
    width: 202px;
    }

    float:left; - âûðàâíèâàíèå ïî ëåâîìó êðàþ.

    margin: 0 1em 0.5em 0; - âåðõ ïðàâî íèç ëåâî. - ñïðàâà îòñòóï îò òåêñòà

    Ãîòîâî.

    Óáèðàåì ðàìêó ó êàðòèíêè.

    Íàõîäèì êëàññ newsImage

    .newsImage {
    border: none;
    /* border: 1px solid black;*/
    }



    2. Êàðòèíêà â ëåíòå íîâîñòåé - ïî àíàëîãèè

    ñòèëü tileImage

    .tileImage {
    float:left;
    /* float: right;*/
    margin: 0 0.5em 0.5em 0;
    /* margin: 0 0 0.5em 0.5em;*/
    border: none;
    /* border: 1px solid black;*/
    }

    Â ëåíòå íîâîñòåé ññûëêà "Äàëåå" êàê ïàðàãðàô êëàññà tileFooter

    ×åãî-òî ýòîò êëàññ íå íàéäó.

    Ñîçäàåì òîãäà åãî. è äåëàåì float: right;

    .tileFooter {
    float: right;
    }

    Õîòÿ, ññûëêà "Äàëåå" íå ðåêîìåíäóåòñÿ.

    3. Ïîðòëåòû áåç ðàìêè.

    Ðåäàêòèðóåì /Plone/portal_skins/custom/portlets.css

    Íàõîäèì dl.portlet è äîáàâëÿåì border:none;

    dl.portlet {
    margin: 1px 0 1em 0;
    border:none;
    /* border-bottom: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;*/
    background-color: &dtml-backgroundColor;;
    }

    Ñíèçó ðàìêà óáðàëàñü

    Íàõîäèì .portletHeader è äîáàâëÿåì border:none;

    .portletHeader {
    background-color: &dtml-globalBackgroundColor;;
    border:none;
    /* border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;; */
    padding: 0em 1em;
    text-transform: &dtml-textTransform;;
    font-weight: normal;
    line-height: 1.6em;
    }

    Â çàãîëîâêå ïîðòëåòà ðàìêà óáðàëàñü. Â ïðèíöèïå, ðàìêó ìîæíî ñíèçó çàãîëîâêà, òî åñòü âìåñòî äîáàâëåíèÿ border:none; çàìåíèòü

    border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;

    íà

    border-bottom: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;;

    Ïîòîì íàõîäèì êëàññ portletItem è óáèðàåì ðàìêó ñëåâà è ñïðàâà

    .portletItem {
    margin: 0;
    padding: 1em;
    /* border-left: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;; */
    /* border-right: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;; */
    }

    Ïîòîì â íåêîòîðûõ ïîðòëåòàõ åñòü ïîäâàë (ïî òèïó ññûëêè "Îñòàëüíûå íîâîñòè").

    Ñâåðõó òî÷êè, ñëåâà è ñïðàâà - ëèíèè.

    Ìåíÿåì êëàññ portletFooter

    Óáèðàåì ðàìêó. Èíòåðåñíî ðàìêà ñäåëàíà. ðàçíûå ñòèëè.

    dd.portletFooter {
    background-color: &dtml-evenRowBackgroundColor;;
    margin: 0;
    padding: 0.25em 1em;
    /* border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;; */
    /* border-style: dotted &dtml-borderStyle; none &dtml-borderStyle;; */
    text-align: right;
    }


    Âñå-òàêè ëåâûå è ïðàâûå ñëîòû íå ðàñøèðÿþòñÿ. Ìåíÿåì /Plone/portal_skins/custom/base_properties

    columnOneWidth 30em

    columnTwoWidth 30em





    ó êàðòèíêè, ÷òîáû íå çàäåâàëà òåêñò îòñòóïû ñïðàâà è ñíèçó

    img style="margin-top: 2px; margin-right: 5px;"

    â /Plone/portal_skins/custom/main_themes ó êàðòèíîê!

    äåëàåì ñòèëü











    lalala raznocvet


    lalala raznocvet



    Ýõ, áëèí! Ñêîëüêî ìó÷àëñÿ è òîëüêî ñåé÷àñ, â 12 íî÷è äîïåðëî, ÷òî íóæíî âèæë-êëåàð äåëàòü, ÷òîáû êàðòèíêè íå íàåçæàëè äðóã íà äðóãà!!! Âìåñòî òàáëèö! Ñïàñèáî Ãàçåòå.ðó!

    Òî åñòü íóæíî äåëàòü ïîñëå òåêñòà, îáòåêàþùåãî êàðòèíêó òàêóþ ïëþøêó:



    Ðåøèë ïðè÷åñàòü /Plone/portal_skins/custom/portlet_business



    áåðåì èç ïàïêè áèçíåñ 3 îïóáëèêîâàííûå íîâîñòè, åñëè îíè åñòü è åñëè ìû íå íàõîäèìñÿ íà ëåíòå äåëîâûõ íîâîñòåé.

    â çàãîëîâêå ïîðòëåòà ïèøåì "äåëîâûå íîâîñòè" (ïî íàçâàíèþ ðàçäåëà) è äàåì ññûëêó íà /business (åñëè åñòü òàêàÿ ïàïêà)



    News of business



    Âîò òàê

    python:portal.business.Title()

    áåðåòñÿ çàãîëîâîê íóæíîé ïàïêè. ïî îáðàçó ìîæíî âçÿòü íå òîëüêî çàãîëîâîê, íî è âñå, ÷òî óãîäíî.


    Ïî îáðàçó è ïîäîáèþ ïðàâëþ /Plone/portal_skins/custom/portlet_interview

    Òîëüêî âìåñòî business ïèøó interview.

    Òàêæå îòëè÷èå - âìåñòî äàòû òàì âðåìÿ! êàê ïèñàëîñü ðàíåå - python:DateTime(obj.Date).TimeMinutes()

    Òåïåðü îòïðàâèì ïîðòëåò äåëîâûõ íîâîñòåé â ïðàâûé ñëîò! (ïîðòàë -> âêëàäêà "Properties")

    here/portlet_business/macros/portlet çàïñûâàåì â right_slots, à here/portlet_news/macros/portlet ìîæíî áóäåò óáðàòü ñêîðî.

    Òàê, â ïðèíöèïå, íå íóæåí â ëåâîì ñëîòå è here/portlet_navigation/macros/portlet, åñëè ãîðèçîíòàëüíîå ìåíþ áóäåò ñâåðõó. Íî âñå ðàâíî ïîêà îñòàâèì.

    Äîðàáîòàë íåìíîãî /Plone/portal_skins/custom/main_themes:

    Çàãîëîâîê ñäåëàë êëàññîì class="tileHeadline" (äëÿ æèðíîñòè) è îòäåëèë åãî îò îïèñàíèÿ


    Òåïåðü íóæíî ñàìûé âåðõ ïðè÷åñàòü êàê â ÒÇ.

    Òî åñòü òàáëèöó, â íåé äâà ñòîëáöà:

    â ïåðâîì - ñåãîäíÿ - òåêóùàÿ äàòà, ëîãîòèï, ñâèäåòåëüñòâî;
    âî âòîðîì - ññûëêè âåðõíèå + ðàçíîöâåòíûå çàãîëîâêè + ìåíþ.

    Õîòÿ ìåíþ ìîæíî è ïîñåðåäêå îñòàâèòü â òåëå ñòðàíèöû.

    Ïðàâèì /Plone/portal_skins/custom/raznocvet

    Äåëàåì òàáëèöó.

    Ñäåëàëè. âñå çå, äàæå ìåæäó ðàçíîöâåòíûìè çàãîëîâêàìè ñëåø!

    /

    Ýòèì ìû ñòàâèì ñëåø ïåðåä âñåìè, êðîìå ïåðâîãî.

    Òó æå ïëþøêó â êîëîôîíå, òîëüêî âìåñòî ñëåøà - êðóæîê!

    È ââåðõó |



Âëîæåíèå: 3622405_readme.txt

Ðóáðèêè:  Èíòåðíåò
Ìåòêè:  

 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó