PDA

Zobacz pełną wersję : szablon a rejestracja użytkowników



klotho
23-04-2008, 18:51
Witam. Pracuję na joomla 1.5.2 . Mam pewien problem dotyczący szablonu td_dimje. Troszkę go zmodyfikowałem ;) ale problem nie leży w modyfikacji a raczej coś tam jeszcze trzeba wkleić do kodu html. Postaram się wyjaśnić na przykładzie:

1. gdy td_dimje jest ustawiony jako szablon domyślny to pojawia się problem polegający na prawidłowym wyświetlaniu modułu rejestracja uzytkownika. A dokładnie, po wypełnieniu wszystkich pól klikając na przycisk <rejestruj> nie wyświetla się powitanie "jesteś użytkownikiem..." albo "na twój email został wysłany link aktywacyjny..." Zamiast tego strona na powrót wyświetla puste pola do wypełnienia. Uzytkownik nie wie, że został zarejestrowany, choć na jego email został wysłany kod aktywacyjny.

2. gdy szablonem domyślnym jest szablon, który jest w pakiecie instalacyjnym błędu takiego nie ma.

3. większość nowych szablonów (testowałem 15), jeśli nie wszystkie powodują własnie taki błąd

Pytanie:
- czy istnieje jakieś rozwiązanie, poza uczeniem się od podstaw kodu html lub css?
(nie jestem leniem - siedze nad tym od kilku dni, może coś źle robię).

poniżej, w kolejnym poście zmieniony kod szablonu, nie wiem czy będzie pomocny, bo możliwe, że akurat nie w nim lezy problem (css raczej odpada - nie znalazłem tam znaczników odpowiedzialnych za działanie modułów, ale mogę się mylić)

klotho
23-04-2008, 18:52
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
$iso = split( '=', _ISO );
// xml prolog - quirks mode
//echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
require($mosConfig_absolute_path."/templates/" . $mainframe->getTemplate() . "/td_config.php");
require($mosConfig_absolute_path."/templates/" . $mainframe->getTemplate() . "/td_layout.php");
require($mosConfig_absolute_path."/templates/" . $mainframe->getTemplate() . "/td_suckerfish.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<?php if ( $my->id ) { initEditor(); }?>
<?php mosShowHead(); ?>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/<?php echo $default_color ?>.css" rel="stylesheet" type="text/css"/>
<link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/red.css" rel="stylesheet" type="text/css" title="Red"/>
<link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/blue.css" rel="stylesheet" type="text/css" title="Blue"/>
<link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/green.css" rel="stylesheet" type="text/css" title="Green"/>
<link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/orange.css" rel="stylesheet" type="text/css" title="Orange"/>
<link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/purple.css" rel="stylesheet" type="text/css" title="Purple"/>
<link rel="shortcut icon" href="<?php echo $mosConfig_live_site;?>/images/favicon.ico" />
<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/scripts/td_stylechanger.js"></script>
<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/scripts/td_colorchanger.js"></script>
<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/scripts/prototype.lite.js"></script>
<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/scripts/moo.fx.js"></script>
<script type="text/javascript">
// Initialise the website tools effect
var containerHeight2;
window.onload = function() {
containerHeight = new fx.Height('toolsdiv', {duration: 400});
containerHeight.hide();
}
</script>
<!--[if lte IE 6]>
<style type="text/css">
div#rightblock{margin: 0px -3px;} table.contentpane{width: 90%;}
</style>
<![endif]-->
<!--[if IE 7]>
<style type="text/css">
div#footercontent{padding-top: 15px;}
</style>
<![endif]-->
</head>

<body>

<div align="center">

<div id="wrapbg"> <!-- start: wrapbg -->
<div id="wrapper"> <!-- START: WRAPPER -->
<div id="inner"> <!-- START: INNER -->

<!-- START: TOP AREA -->
<div id="topareadiv">
<div id="toparea">
<div id="logo">
<!-- -->
</div>
<div id="bannerdiv">
<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/scripts/flashobject.js"></script>
<div id="flashcontent">
OOPS. Your Flash player is missing or outdated.<a href="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">Click here</a> to update your player so you can see this content.
</div>
<script type="text/javascript">
// <![CDATA[
var fo = new FlashObject("./templates/<?php echo $cur_template; ?>/images/header.swf", "topflash", "100%", "198", "1");
fo.addParam("wmode", "transparent");
fo.write("flashcontent");
// ]]>
</script>
</div>

</div>
<div class="clr"></div>
</div>
<!-- END: TOP AREA -->


<!-- START: SUCKERFISH -->
<div id="navdiv">
<div id="nav">
<?php mosShowListMenu($menu_name); ?>
</div>
</div>
<!-- END: SUCKERFISH -->

<!-- START: MAIN CONTENT -->
<div id="maincontentdiv">
<div id="maincontent">

<!-- START: LEFT BLOCK -->
<?php if (mosCountModules('left')) { ?>
<div id="leftblock">
<div id="leftdiv">
<div id="left">
<?php mosLoadModules ( 'left', -2 ); ?>
</div>
</div>
</div>
<?php } ?>
<!-- END: LEFT BLOCK -->

<!-- START: CENTER BLOCK -->
<div id="center<?php echo $centerdiv ?>">
<div id="centerdiv">

<?php if (strtolower($option) != 'com_frontpage'){ ?>
<div id="pathway">
You are here: <?php mosPathWay(); ?>
</div>
<?php } ?>

<!-- start: user2 & user1 modules -->
<?php if (mosCountModules('user2') || mosCountModules('user1')) { ?>
<div id="topusersdiv">
<div id="user2div" style="width:<?php echo $topusersdivwidth ?>;">
<div id="user2">
<?php mosLoadModules ( 'user2', -2 ); ?>
</div>
</div>
<div id="user1div" style="width:<?php echo $topusersdivwidth ?>;">
<div id="user1">
<?php mosLoadModules ( 'user1', -2 ); ?>
</div>
</div>
<div class="clr"></div>
</div>
<?php } ?>
<!-- end: user2 & user1 modules -->

<div id="center">
<?php mosMainBody(); ?>
</div>

<!-- start: user6 & user5 modules -->
<?php if (mosCountModules('user6') || mosCountModules('user5')) { ?>
<div id="bottomusers1div">
<div id="user6div" style="width:<?php echo $bottomusers1divwidth ?>;">
<div id="user6">
<?php mosLoadModules ( 'user6', -2 ); ?>
</div>
</div>
<div id="user5div" style="width:<?php echo $bottomusers1divwidth ?>;">
<div id="user5">
<?php mosLoadModules ( 'user5', -2 ); ?>
</div>
</div>
<div class="clr"></div>
</div>
<?php } ?>
<!-- end: user6 & user5 modules -->



</div>
</div>
<!-- END: CENTER BLOCK -->

<!-- START: RIGHT BLOCK -->
<?php if (mosCountModules('right')) { ?>
<div id="rightblock">
<div id="rightdiv">
<div id="right">
<?php mosLoadModules ( 'right', -2 ); ?>
</div>
</div>
</div>
<?php } ?>
<!-- END: RIGHT BLOCK -->
<div class="clr"></div>
</div>
</div>
<!-- END: MAIN CONTENT -->
<!-- start: user8 & user9 modules -->
<?php if (mosCountModules('user8') || mosCountModules('user9')) { ?>
<div id="bottomusers2div">
<div id="user8div" style="width:<?php echo $bottomusers2divwidth ?>;">
<div id="user8">
<?php mosLoadModules ( 'user8', -2 ); ?>
</div>
</div>
<div id="user9div" style="width:<?php echo $bottomusers2divwidth ?>;">
<div id="user9">
<?php mosLoadModules ( 'user9', -2 ); ?>
</div>
</div>
<div class="clr"></div>
</div>
<?php } ?>
<!-- end: user8 & user9 modules -->
<!-- START: FOOTER -->
<!-- BEGIN: BANNER -->
<?php if (mosCountModules( 'banner' )) { ?>
<div id="td-downts">
<?php mosLoadModules( 'banner', -2 ); ?>
</div>
<?php } ?>
<!-- END: BANNER -->
<div id="footercontentdiv">
<div id="footercontent">
<div id="footerdiv">
<div id="footer">
<?php include_once('td_footer.php'); ?>
</div>
</div>
<div id="w3cdiv">
<div id="w3c">
<a href="http://validator.w3.org/check?uri=referer" target="_blank"><img src="<?php echo "$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/images/"; ?>w3c_xhtml_icon.gif" alt="" title="Valid W3C XHTML 1.0 Transitional" border="0" /></a>
<a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img src="<?php echo "$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/images/"; ?>w3c_css_icon.gif" alt="" title="Valid CSS" border="0" /></a>
</div>
</div>
<div class="clr"></div>
</div>
</div>
<!-- END: FOOTER -->

</div> <!-- END: INNER -->
</div> <!-- END: WRAPPER -->
</div> <!-- end: wrapbg -->

</div>
<?php mosLoadModules( 'debug' );?>
</body>
</html>

klotho
24-04-2008, 19:40
Odkrycie może nie jest na miarę forum - ale jestem poczatkującym użytkownikiem i swieży w obsłudze Joomla.

Rada:
Jeśli nie chcesz pisać kodu szablonu na nowo korzystaj tylko i wyłącznie z szablonów stworzonych specjalnie dla yoomla 1.5 , wszelkie inne, starsze, działające przy włączeniu system legacy (tryb zgodności 1.0) nie obsługują w całości podstawowych funkcji w modułach typu :

- rejestracja użytkowników
- forum
- inne o których jeszcze nie wiem

a dokładnie nie obsługują informacji wyświetlanych po np. zarejestrowaniu nowego użytkownika (jak opisałem to w poście pierwszym).

Proponuję korzystać z pełni funkcjonalnych szablonów typu siteground.

pozdro

0fmymind
26-04-2008, 23:22
Ja mam tak samo :( Ale genialną rzecz wymyśliłem bo w artykule na głównej stronie napisałem wiad. do użytkowników że się nic nie wyświetla i jest okej :)

klotho
26-04-2008, 23:36
Po zainstalowaniu community builder problem z niewyświetlaniem info po rejestracji znikł, bowiem zmienił się nieco system rejestrowania nowych użytkowników i logowania. W komponencie pojawiło się nawet info, że niektóre starsze szablony nie wyświetlają pasków informacji dlatego community builder wyposażono w coś w rodzaju "plugin". Nie wiem jak to działa na innych szablonach, ale na moim działa oki.