PDA

Zobacz pełną wersję : Tytuł komponentu/artykułu



arkasper
14-09-2010, 10:49
Standardowo nazwa komponentu/artykułu jest umieszczona nad artykułem
Da się jakoś w php odwołać do tej nazwy aby umieścić ją w innym miejscu na stronie ?

Robster
14-09-2010, 11:18
Oczywiście. Każdy komponent/moduł posiada swoje ID. Możesz je sprawdzić w liście komponentów/modułów.

arkasper
14-09-2010, 11:23
Czy istnieje jakaś zmienna w której jest przechowywana nazwa komponentu?
Chcę tylko aby np "Strona główna", "Galeria", "Forum" pojawiały się nie nad treścią lecz dużo wyżej.
Jeśli istnieje taka zmienna to jak się nazywa? Chciałbym w możliwie najprostszy sposób pobrać tą nazwę i wyświetlić na stronie.

Robster
14-09-2010, 15:10
Nie wiem co chcesz dokładnie uzyskać, ale jeśli chcesz po prostu wyświetlić tytuły, aktywnych modułów w jednym miejscu, to proponuję takie rozwiązanie (wymyślone na poczekaniu).
Piszesz własny moduł, gdzie z tabeli jos_modules pobierasz do zmiennej wartości z kolumny title, gdzie w kolumnie published wartość równa się 1.

Po wyświetleniu zawartości zmiennej, otrzymasz tytuły wszystkich opublikowanych na stronie modułów. Możesz to także uzależnić od pozycji modułów.
Jak wspomianłem rozwiązanie wymyślone na szybko, możliwe że istnieją łatwiejsze i sprawniejsze metody rozwiązania twojego problemu.

arkasper
14-09-2010, 15:43
Chodzi mi o tytuł artykułu, jeśli otwarty jest widok artykułu, nazwa kategorii jeśli otwarta jest kategoria z listą newsów itd. Nie wiem jak to dokładnie nazwać.
Chcę wyświetlić ten tekst który normalnie jest w ".contentheading" lub ".componentheading"

Robster
14-09-2010, 15:59
Strasznie motasz. Jeśli chodzi Ci o tytuł artykułu i o wyświetlenie go w innym miejscu w widoku artykułu, to skorzystaj z metody nadpisywania szablonem.
Musisz odpowiednio zmodyfikować plik blog_item.php (components/com_content/views/section/tmpl/blog_item.php). Oczywiście zakres w którym możesz "przemieszczać" tytuł jest ograniczony, do bloku artykułu.

Na wiki oraz na tej (http://www.madver.pl/) stronie masz sporo informacji o metodzie nadpisywania szablonem.

arkasper
14-09-2010, 16:10
Chodzi mi o wyjście poza zakres artykułu, a właściwie powielenie tekstu o którym mowa.

Robster
14-09-2010, 16:13
To napisz dokładnie co chcesz i gdzie zrobić, bo tak to się będziemy bawić do wieczora o ile nie dłużej.
Ogólnie rzecz biorąc możesz zrobić wszystko, wyciągając tytuł z tabeli artykułów.

EkleErs
14-09-2010, 16:15
intersuje Cie

<?php echo $this->escape($this->item->title); ?>szukasz w
components\com_content\views [frontpage]; [section]; [category]; [article]; \tmpl -> default. .......php

w frontpage\tmpl -> default_item.php
title wyglada tak

<?php if ($this->item->params->get('show_title')) : ?>
<td class="contentheading<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>" width="100%">
<?php if ($this->item->params->get('link_titles') && $this->item->readmore_link != '') : ?>
<a href="<?php echo $this->item->readmore_link; ?>" class="contentpagetitle<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
</td>
<?php endif; ?>co z tym zrobisz twoja sprawa

arkasper
14-09-2010, 16:39
Dzięki za pomoc.

Jola
14-09-2010, 18:31
Witam,
nazwa komponentu to po prostu:

$nazwa_komponentu = JRequest::getVar('option', '');Zmienna $nazwa_komponentu jest postaci: com_contact.
W celu podrasowania można użyć przykładowo:

switch($nazwa_komponentu ) {
case $nazwa_komponentu == 'com_sobi2' :
$nazwa_komponentu = 'Sobi2';
break;
case $nazwa_komponentu == 'com_contact' :
$nazwa_komponentu = 'Kontakt';
break;

....

default:
$nazwa_komponentu = 'Wiadomości';
break;
}