Cze¶æ.
Nale¿y trochê zmodyfikowaæ plik w ¶cie¿ce "
components/com_content/" o nazwie "
content.html.php". Zacznijmy od funkcji
ReadMore ():
Modyfikacja funkcji
ReadMore () dla wersji
Joomla 1.0.7, byæ mo¿e 1.0.8 ( trzeba to po prostu sprawdziæ w kodzie, s± drobne ró¿nice ):
Oryginalny kod dla
Joomla 1.0.7, gdzie¶ oko³o linii
823:
Kod 1.a:Kod: |
* Writes Readmore Button
*/
function ReadMore ( $params, $link_on, $link_text ) {
if ( $params->get( 'readmore' ) ) {
if ( $params->get( 'intro_only' ) && $link_text ) {
?>
<tr>
<td align="left" colspan="2">
<a href="<?php echo $link_on;?>" class="readon<?php echo $params->get( '
pageclass_sfx' ); ?>">
<?php echo $link_text;?>
</a>
</td>
</tr>
<?php
}
}
}
|
...zamieniamy na poni¿szy:
Kod 1.b:
Kod: |
* Writes Readmore Button
*/
function ReadMore ( $params, $link_on, $link_text ) {
if ( $params->get( 'readmore' ) ) {
if ( $params->get( 'intro_only' ) && $link_text ) {
?>
<a href="<?php echo $link_on;?>" class="readon<?php echo $params->get( '
pageclass_sfx' ); ?>">
<?php echo $link_text;?>
</a>
<?php
}
}
}
|
...czyli pozbywamy siê komórki
<td> z tabeli.
To samo robimy dla nowszych wersji Joomla:
Modyfikacja funkcji
ReadMore () dla wersji
Joomla 1.0.11 w pliku "
content.html.php":
Oryginalny kod
Joomla 1.0.11, gdzie¶ oko³o linii
876:
Kod 2.a:
Kod: |
* Writes Readmore Button
*/
function ReadMore ( &$row, &$params ) {
if ( $params->get( 'readmore' ) ) {
if ( $params->get( 'intro_only' ) && $row->link_text ) {
?>
<tr>
<td align="left" colspan="2">
<a href="<?php echo $row->link_on;?>" class="readon<?php echo $params->get(
'pageclass_sfx' ); ?>">
<?php echo $row->link_text;?></a>
</td>
</tr>
<?php
}
}
}
|
...zamieniamy na poni¿szy:
Kod 2.b:
Kod: |
* Writes Readmore Button
*/
function ReadMore ( &$row, &$params ) {
if ( $params->get( 'readmore' ) ) {
if ( $params->get( 'intro_only' ) && $row->link_text ) {
?>
<a href="<?php echo $row->link_on;?>" class="readon<?php echo $params-
>get( 'pageclass_sfx' ); ?>">
<?php echo $row->link_text;?></a>
<?php
}
}
}
|
Mamy funkcjê
ReadMore () zmodyfikowan±. Teraz nale¿y zmieniæ kod w innym miejscu pliku "
content.html.php".
Modyfikacja kodu odpowiedzialnego za miejsce pokazanie siê linka "
Czytaj ca³o¶æ...". Dla wersji
Joomla 1.0.7 w pliku w pliku "
content.html.php"
Oryginalny kod dla
Joomla 1.0.7, gdzie¶ oko³o linii
521:
Kod 1.c:
Kod: |
// displays Item Text
echo ampReplace( $row->text );
?>
</td>
</tr>
<?php
// displays Modified Date
HTML_content::ModifiedDate( $row, $params );
// displays Readmore button
HTML_content::ReadMore( $params, $link_on, $link_text );
?>
|
...zamieniamy na poni¿szy kod.
Kod 1.d:
Kod: |
// displays Item Text
echo ampReplace( $row->text );
// displays Readmore button
HTML_content::ReadMore( $params, $link_on, $link_text );
?>
</td>
</tr>
<?php
// displays Modified Date
HTML_content::ModifiedDate( $row, $params );
// displays Readmore button
//HTML_content::ReadMore( $params, $link_on, $link_text );
?>
|
...i w ten oto sposób umie¶cili¶my "
Czytaj ca³o¶æ..." tu¿ za tre¶ci± wprowadzenia do artyku³u, w jednej komórce tabeli
<td>. To samo robimy dla wersji
Joomla.1.0.11 w pliku "
content.html.php".
Oryginalny kod dla
Joomla.1.0.11, gdzie¶ oko³o linii
518:
Kod 2.c:
Kod: |
// displays Item Text
echo ampReplace( $row->text );
?>
</td>
</tr>
<?php
// displays Modified Date
HTML_content::ModifiedDate( $row, $params );
// displays Readmore button
HTML_content::ReadMore( $row, $params );
?>
|
...zamieniamy na poni¿szy kod.
Kod 2.d:
Kod: |
// displays Item Text
echo ampReplace( $row->text );
// displays Readmore button
HTML_content::ReadMore( $row, $params );
?>
</td>
</tr>
<?php
// displays Modified Date
HTML_content::ModifiedDate( $row, $params );
// displays Readmore button
//HTML_content::ReadMore( $row, $params );
?>
|
...i jak wy¿ej, umie¶cili¶my "
Czytaj ca³o¶æ..." tu¿ za tre¶ci± wprowadzenia do artyku³u, w jednej komórce tabeli
<td>.
Dzia³anie kodu sprawdzi³em na swojej stronie, czyli
Joomla 1.0.7, jak i na
Joomla.1.0.11, oraz
Joomla 1.0.13 ( kodowanie znaków nie ma ¿adnego znaczenia ). Tekst "
Czytaj ca³o¶æ..." jest tekstem pobranym z pliku jêzyka, i mo¿e mieæ tre¶æ dowoln±. U mnie jest np. "
Wiêcej...". To ju¿ kwestia gustu. Mo¿emy t± tre¶æ zmieniæ w pliku "
polish.php" w katalogu "
language".
Kod: |
/** content */
DEFINE('_READ_MORE','Wiêcej…');
|
To tyle. Oczywi¶cie, przed modyfikacj± nale¿y wykonaæ kopiê pliku "
content.html.php", bo nale¿y to robiæ
ZAWSZE. Jeszcze drobna uwaga. Je¶li tekst wprowadzaj±cy bêdzie zakoñczony znacznikiem
<br />, a czêsto tak siê zdarza, tekst "
Czytaj ca³o¶æ..." zostanie opuszczony ni¿ej, prze³amany, czyli tak jakby¶my nie robili ¿adnej modyfikacji. Dodatkowo je¶li tre¶æ umie¶cimy w znacznikach
<div> lub
<p> to tak¿e zostanie prze³amany. Wiêc nale¿y oczy¶ciæ kod "
introtextu" ( tekstu wprowadzaj±cego ) ze znacznika
<br />, najlepiej edytuj±c kod
HTML tre¶ci w edytorze. Ka¿dy edytor posiada taki przycisk. Nazywa siê "
html", i jest podpowiedziany ( w dymku ) czêsto jako "
edytuj ¼ród³o" lub podobnie. Dodatkowo je¶li chcemy, aby tre¶æ w
<div> nie ³ama³a nam "
Czytaj ca³o¶æ..." mo¿emy do tre¶ci na pocz±tku wstawiæ taki kod:
Kod: |
<div align="left" style="display: inline;">..tresc...</div>
|
To tyle. Zaznaczam, ¿e ka¿dy robi te modyfikacje na w³asn± odpowiedzialno¶æ. U mnie na stronie g³ównej widaæ efekt zastosowania modyfikacji. Wprawdzie jeszcze nie wszystkie artyku³y poprawi³em, ale czê¶æ ju¿ jest dobra. Pomy¶lê jeszcze nad tym, jak to usprawniæ.
Pozdrawiam.
Jokris.