PDA

Zobacz pełną wersję : Read more / bez przeonszenia do nowego wiersza



zszalbot
24-04-2009, 00:35
Witam,

Niby prosta rzecz, ale jakoś nie umiem sobie poradzić. Chodzi mi o to, by tekst "Czytaj..." pojawiał się zaraz po ostatnim znaku wstępu do artykułu.

Teraz mam tak:

WSTĘP

CZYTAJ... >>

Chciałbym, by było tak:

WSTĘP. CZYTAJ... >>>

W templates.css widzę następującą definicję:


a.readon {
margin-top: 10px;
display: block;
float: left;
background: url(../images/mw_readon.png) top right no-repeat;
padding-right: 20px;
line-height: 14px;
height: 16px;
}

Próbowałem zmienić display: block na np. display: inline, ale bez rezultatu. Trafiłem też na artykuł, w którym opisywano jak zrobić read more jako obrazek, ale ja potrzebuję czegoś innego. Niestety zmiana wartości marigin-top: 0px; nie umieszcza napisu Czytaj... w tym samym wierszu co ostatnie znaki wstępu.

Z góry dziękuję za poradę!

Hiro PHP
25-04-2009, 21:16
Zapewne wymaga to "głębszej" modyfikacji kodu źródłowego, ale ja polecam komponent MxComment (do pobrania tu: http://www.joomla.pl/component/option,com_docman/task,doc_details/gid,670/Itemid,66) (http://www.joomla.pl/component/option,com_docman/task,doc_details/gid,670/Itemid,66/)który pozwala na naprawdę dużą modyfikację ustawień, jeśli chodzi o komentarze i artykuły. Dzięki niemu zapewne rozwiążesz ten problem.

zwiastun
25-04-2009, 22:36
@Hiro PHP, bardzo Cię proszę, powstrzymaj się z radami typu: 'wymaga to "głębszej" modyfikacji kodu źródłowego', bo masz na ten temat żadne pojęcie. I może w ogóle daj sobie spokój z doradzaniem, skoro nie bardzo łapiesz o co chodzi.

@zszalbot

Za ten odnośnik odpowiada kod;



<?php if ($this->item->params->get('show_readmore') && $this->item->readmore) : ?>
<tr>
<td colspan="2">
<a href="<?php echo $this->item->readmore_link; ?>" class="readon<?php echo $this->item->params->get('pageclass_sfx'); ?>">
<?php if ($this->item->readmore_register) :
echo JText::_('Register to read more...');
elseif ($readmore = $this->item->params->get('readmore')) :
echo $readmore;
else :
echo JText::sprintf('Read more...');
endif; ?></a>
</td>
</tr>
<?php endif; ?>
w plikach blog.item.php
Jak widzisz, umieszczony jest w odrębnym wierszu tabeli, dodawanym w przypadku, gdy mamy do czynienia z podziałem artykułu na wprowadzenie i tekst główny.
Korzystając z techniki nadpisywania szablonów, można przenieść część tego kodu do wiersza tabeli z tekstem wprowadzenia i tak wystylizować klasę readon w arkuszu stylów, żeby odnośnik był wyświetlany za tekstem wprowadzenia.

O nadpisywaniu szablonów:
http://wiki.joomla.pl/Zrozumie%C4%87_koncepcj%C4%99_podmiany
oraz - przykłady np.: http://wiki.joomla.pl/Beez/Przes%C5%82anianie_standardowych_szablon%C3%B3w