PDA

Zobacz pełną wersję : inny szablon do wyswietlanego komponentu



art3q
20-12-2006, 12:05
Mam problem, komponent, który chce uruchomić na stronie rozjeżdża mi right_menu

chciałbym zrobić tak, żeby nie wyświetlało mi się to menu podczas ładowania komponentu albo, żeby ładowało inny szablon. Jak to zrobić? Może jakieś inne sugestie?

Randal
20-12-2006, 14:15
Proponuję wyłącz sobie te 3 moduły po prawej stronie kiedy wyświetlany jest komponent...

art3q
20-12-2006, 14:26
1. jak?
2. niezbyt mnie satysfakcjonuje takie rozwiązanie, mam określoną w css szerokość prawego menu więc jeżeli wyłączę to i tak mi się rozjedzie

czekam na inne sugestie...

Viking
20-12-2006, 22:47
poczytaj więcej o komponencie - niektóre mają własne systemy templatek (zwykle nie tak łatwe w obsłudze jak Joomla! ale pewnie poradzisz)

PS
czekam na inne sugestie...niektórzy mogliby się obrazić o takie stawianie sprawy.... pełno tu przewraźliwionych społeczników ;) więc na przyszłość uważaj. Proś a będzie Ci dane, że tak powiem ;D

art3q
21-12-2006, 10:55
akurat ten fragment komponentu wiem jak edytować żeby sobie pomniejszyć tabele, która nie będzie mi rozjeżdżać strony ale nadal chciałbym wiedzieć jak zrobić tak żeby dla danego komponentu wczytywała mi się odrębna templatka lub chociaż żeby nie wyświetlało mi się menu z prawej strony.

tak wygląda początek strony komponentu który mi przeszkadza:


<?php
/**
* @Cinema - Un componente per Joomla
* @package Component for Joomla
* @subpackage cinemadetails.php
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @Renew & fork by Vamba & Luscarpa
* Ispirato e basato su
**/
/**
* AkoGallery - A Mambo Gallery Component
* (C)opyright 2003,2004 by Arthur Konze
* Homepage : www.mamboportal.com
* Version : 3.0 beta 3
* License : Copyright, don't distribute
* Translator : Arthur Konze
* Homepage : www.konze.de
**/

# Per non permettere collegamento diretto
defined( '_VALID_MOS' ) or die( 'Accesso diretto non permesso.' );



# Intestazione
global $mosConfig_absolute_path, $fimgvotesum, $cmtname, $menu;

require($mosConfig_absolute_path."/administrator/components/com_cinema/config.cinema.php");

# Stili CSS layout
echo "<style>";
echo ".cinema { $cin_cinema }";
echo ".cinema2 { $cin_cinema2 }";
echo ".cinema3 { $cin_cinema3 }";
echo ".cinema4 { $cin_cinema4 }";
echo "blockquote { $cin_blockquote }";
echo ".legend{ $cin_legend }";
echo ".legendtitle{ $cin_legendtitle }";
echo "fieldset{ $cin_fieldset }";
echo "</style>";


# Javascript Controlli Form e Smilies
echo "<script language=\"Javascript\">";
echo " function validatecomment(){";
echo " if ((document.commentform.cmtname.value=='') || (document.commentform.cmttext.value=='')){";
echo " alert(\"".$CINEMA->CINEMA_COMMENTMINIMUM."\");";
echo " } else {";
echo " document.commentform.action = 'index.php';";
echo " document.commentform.submit();";
echo " }";
echo " }";
echo "</SCRIPT>";


# Database Query
$database->setQuery("SELECT id, catid, imgtitle, imgtitle2, imgauthor, imgtext, imgdate, imgcounter, imgvotes, imgvotesum, disponibile, urlweb, urltrailer, audio, video, attore1, attore2, attore3, attore4, attore5, anno, nazione, durata, published, imgfilename, imgthumbname, metakey, metadesc FROM #__cinema WHERE id = '$id'");
$result1 = $database->query();
list($id, $catid, $imgtitle, $imgtitle2, $imgauthor, $imgtext, $imgdate, $imgcounter, $imgvotes, $imgvotesum, $disponibile, $urlweb, $urltrailer, $audio, $video, $attore1, $attore2, $attore3, $attore4, $attore5, $anno, $nazione, $durata, $published, $imgfilename, $imgthumbname, $metakey, $metadesc)=mysql_fetch_row($result1);

$database->setQuery("SELECT name FROM #__categories WHERE id = '".$catid."'");
$catname = $database->loadResult();

# Sezione metadata

if ( $Itemid ) {
$menu = new mosMenu( $database );
$menu->load( $Itemid );
} else {
$menu = '';
}


$mainframe->setPageTitle( $menu->name." ".$catname." - ".$imgtitle );
$mainframe->prependMetaTag('description',', '.$cin_description);
$mainframe->prependMetaTag('keywords',', '.$cin_keywords);
$mainframe->prependMetaTag('description',$metadesc);
$mainframe->prependMetaTag('keywords',$metakey);

# Paginazione categorie
$id_cache = array();
$database->setQuery("SELECT id, imgfilename "
. " FROM #__cinema "
. " WHERE catid=$catid ORDER BY id DESC ");
$result1 = $database->query();
while ($row1=mysql_fetch_object($result1)) {
$id_cache[] = $row1->id;
$fn_cache[] = $picturepath.$row1->imgfilename;
}
$act_key = array_search($id, $id_cache);
$nid = (isset($id_cache[$act_key + 1])) ? $id_cache[$act_key + 1] : 0;
$pid = (isset($id_cache[$act_key - 1])) ? $id_cache[$act_key - 1] : 0;
unset($id_cache);



# Aggiorna contatore
$imgcounter++;
$database->setQuery("UPDATE #__cinema SET imgcounter='$imgcounter' WHERE id='$id'");
$database->query();



# Intestazione
if ($cin_showdetail) {
if ($imgvotes>0) {
$fimgvotesum = number_format($imgvotesum/$imgvotes,2,",",".");
$frating = "$fimgvotesum ($imgvotes Voti)";
} else {
$frating = "$CINEMA->CINEMA_RATINGVOTENO";
}
echo "<table width='60%' align='center' border='0'>";
echo "<tr><td>";
echo "<table width='60%' align='center' border='0' cellspacing='2' cellpadding='3'>";
echo "<tr><td class='contentpagetitle'><a href='".sefRelToAbs("index.php?option=com_cinema&amp;Itemid=$Itemid")."'><img src='components/com_cinema/images/home.png' border='0' alt='".$CINEMA->CINEMA_INDEXCATEGORIES."' align='absmiddle' hspace='6'>".$CINEMA->CINEMA_INDEXCATEGORIES."</a>";
echo "<td style='text-align: right'>";
echo "<form name='searchgalform' action='".sefRelToAbs("index.php")."' target='_top' method='post' style='display:inline;'>";
echo "<input type='hidden' name='option' value='com_cinema'><input type='hidden' name='Itemid' value='$Itemid'>";
echo "<input type='hidden' name='task' value='special'><input type='hidden' name='sorting' value='find'>";
echo "<img src='components/com_cinema/images/search.gif' title='".$CINEMA->CINEMA_SEARCH."' hspace='1' border='0' align='absmiddle'>";
echo "<input title='".$CINEMA->CINEMA_SEARCH."' type='text' class='inputbox' name='sstring' onBlur=\"if(this.value=='') this.value='".$CINEMA->CINEMA_SEARCH."';\" onFocus=\"if(this.value=='".$CINEMA->CINEMA_SEARCH."') this.value='';\" value='".$CINEMA->CINEMA_SEARCH."'></form>";
echo "</td></tr></table>";

rozwiązanie tego problemu jak wczytywać templatki do oddzielnych komponentów byłoby bardzo pożyteczne również dla ,,społeczików" także nie ma co się obrażać, możnaby było w łatwy sposób budować podportale jak na onecie a wszystko stałoby na 1 joomli, pomyślcie :D

art3q
21-12-2006, 17:38
już wiem jak to zrobić to się okazało takie banalne, że aż mi wstyd teraz za ten post :p

Viking
21-12-2006, 19:15
nie przejmuj się za bardzo, nie takie posty czytaliśmy ;)
...dobrze, że pzyznajesz że Ci wstyd - w nagrodę możesz odpokutować pisząc jak to zrobić :)

art3q
21-12-2006, 19:33
wstyd i to straszny, webmasterem jestem i nic co ludzkie nie jest mi obce :P

a zrobiłem to tak:
w panelu admina tam gdzie się zarządza templatkami (Template Manager) jest taka opcja ze można przypisać inną templatkę do któregoś linku z menu i dzieje się tak, że ta templatka tyczy się całego komponentu o ile link prowadzi do komponentu. Zaznacza się tą templatke, która ma sie odnosic do komponentu i klika sie assign (mam ang admina aha i joomle 1.11) i w tym komponencie wyswietla sie nowa templatka. Skopiowałem stara templatke ze zrodlami (obrazkami) poprzedniej żeby się nie wczytywało 2x to samo usunalem tylko ta kolumnę która mi przeszkadzała i działa ok.

wersja z templatką pierwszą (2ma kolumnami):
http://inri.pl

wersja z templatką drugą (1 kolumną)
http://inri.pl/index.php?option=com_cinema&pagetitle=filmy+religijne&Itemid=31

czyli okazuje się ze taka opcja juz byla a ja sie meczylem, posiedze nad tym moze zacznie to jakos wygladac :P

mysticman
02-02-2007, 09:06
a zrobiłem to tak:
Zaznacza się tą templatke, która ma sie odnosic do komponentu i klika sie assign (mam ang admina aha i joomle 1.11) i w tym komponencie wyswietla sie nowa templatka. Skopiowałem stara templatke ze zrodlami (obrazkami) poprzedniej żeby się nie wczytywało 2x to samo usunalem tylko ta kolumnę która mi przeszkadzała i działa ok.

Mam ten sam problem i zie za bardzo rozumiem z tym kopiowaniem starej templatki. index.php kopiuję i z niego usuwam prawa kolumnę?

art3q
03-02-2007, 16:29
musisz mieć odzielną templatke żeby tak zrobić ja:
1. skopiowałem folder ze starą
2. zmieniłem nazwę folderu ale src do obrazków zostawiłem takie same zeby sie nie wczytywalo 2x skoro maja byc takie same i to cala filozofia

mysticman
08-02-2007, 13:27
dzieki, wypróbuję twój sposób :) Pozdrawiam

tomekzi
09-05-2007, 19:55
zainstalowałem forum fireboard i chciałbym mieć inny szablon strony dla stron z forum (bez paneli bocznych)

zrobiłem nowy szablon i przypisałem go (poprzez assign w menu Site/Template Manager/Site Templates) do pozycji menu poprzez którą odpalam forum.

z tym jest OK.

jednak gdy kliknę 'nowy post' w komponencie forum - wtedy wraca layout główny z panelami.

czy wiecie jak przypisać szablon dla wszystkich operacji na komponencie forum?