V1.2.7 - 1.3.x
- Basics :Level and IDs
- Navigation
- Switch for different domains
Basics: Level and ID with a multilingual switch e.g. (IDs are coincidentally selected)
=====================================================
Code: Select all
------------------------------------
L E V E L
-: : : : :
-0 1 2 3 4 <- LEVEL-No.)
-: : : : :
-+ home : : ID=0
-+--+ en ID=01
-+--+--+ en_category_01 ID=02
-+--+--+ en_category_02 ID=03
-+--+--+--+ en_category_02_01 ID=05
-+--+--+--+--+ en_category_02_01_01 ID=07
-+--+--+--+--+ en_category_02_01_02 ID=08
-+--+--+--+ en_category_02_02 ID=06
-+--+--+--+ en_category_02_03 ID=09
-+--+--+ en_category_03 ID=04
-+--+--+ en_category_04 ID=10
-: : : : :
-+--+ de ID=11
-+--+--+ de_Kategorie_01 ID=12
-+--+--+ de_Kategorie_02 ID=13
-+--+--+--+ de_Kategorie_02_01 ID=15
-+--+--+--+--+ de_Kategorie_02_01_01 ID=17
-+--+--+--+--+ de_Kategorie_02_01_02 ID=18
-+--+--+--+ de_Kategorie_02_03 ID=16
-+--+--+--+ de_Kategorie_02_03 ID=19
-+--+--+ de_Kategorie_03 ID=14
-+--+--+ de_Kategorie_04 ID=20
category
-: : : : :
-0 1 2 3 4 <- LEVEL No.
------------------------------------
----------
Level based: The level is relatively addressed.
We need this for a right navigation.
Every language has its own template.
NAVIGATION
=====================================================
A simple navigation at the right/left using the navigation tag {NAV_LIST_UL:F ........
-
NAV_LIST_UL V1.3x
-----------------------------------------------------
en: {NAV_LIST_UL:F,
01,,act_path,active,,,}
de: {NAV_LIST_UL:F,
11,,act_path,active,,,}
Combination of an horizontal & vertical navigation
=====================================================
E.g. The horizontal output
Code: Select all
+---------------------------------------------------------------------+
| [en_category_01] [en_category_02] [en_category_03] [en_category_04] |
+---------------------------------------------------------------------+
en: <div class="nlu_horiz1">{NAV_LIST_UL:F,
01,
1,act_path,active}</div>
de: <div class="nlu_horiz1">{NAV_LIST_UL:F,
11,
1,act_path,active}</div>
(
one level deep).
E.g. the vertical sub output for an active
[en_category_02]
Code: Select all
+----------------------+
| [en_category_02_01] |
| [en_category_02_02] |
| [en_category_02_03] |
+----------------------+
Please copy this snippet into every language template.
You can lift an ID based navigation to an level based navigation
I called it level lift. (Have a look too at the end of this posting -
NAV_LIST_UL V1.3x).
Code: Select all
[PHP]
if(isset($GLOBALS['LEVEL_ID'][1])) {
$level_id = $GLOBALS['LEVEL_ID'][1];
echo '<div class="nlu_navi1">'.LF;
echo '{NAV_LIST_UL:F,'.$level_id.',,act_path,active,,,}';
echo '</div>';
}
[/PHP]
Where LEVEL_ID'[
X] is the level.
Switch for Different domains
=====================================================
http://www.phpwcms.de/forum/viewtopic.php?p=73725#73725
There is a switch working with two domains mydomain1.com and mydomain2.com generating an HTTP Status Code:
HTTP Status Code: HTTP/1.1 301 Moved Permanently
Important: Please use only this entry in config: $phpwcms['site'] = 'http://'.$_SERVER['SERVER_NAME'].'/';
$_SERVER['SERVER_NAME'] should always contain the current called Domain.
With LEVEL_ID[1] you always know the starting level ID for the menus.
Copy this snippet into the folder /include/inc_script/frontend_init/
config: $phpwcms['allow_ext_init'] = 1;
Code: Select all
<?php
// compare against current domain and redirect to correct if neccessary
// http://www.phpwcms.de/forum/viewtopic.php?p=73771
// Installation: Put this snippet into the folder /frontend_init/
// and switch at conf.inc.php: $phpwcms['allow_ext_init'] = 1;
// E.g.:
// Startpoint from mydomain1.com is the ID=01 -> $LEVEL_ID[1] = 1
// Startpoint from mydomain2.com is the ID=11 -> $LEVEL_ID[1] = 11
//
// PHPWCMS_URL -> http://mydomainX.com/
// returnGlobalGET_QueryString() -> ?alias
// $aktion[0] == 0 -> pointer at the root level
if(isset($LEVEL_ID[1])) {
// Pointer behind the root level ?
// Yes -> check active Domain behind root level
if($LEVEL_ID[1] == 1 && strpos(PHPWCMS_URL, 'mydomain1.com') === false) {
// E.g. Using the ID=1 (for maydomain1.com) but with the domain maydomain2.com, than switch back to .mydomain1.com
// E.g. http://www.mydomain2.com/index.php?1-contact switch to http://www..mydomain1.com/index.php?1-contact
headerRedirect('http://www.mydomain1.com/index.php'.returnGlobalGET_QueryString());
} else {
// The same for the domain mydomain2.com
if($LEVEL_ID[1] == 11 && strpos(PHPWCMS_URL, 'mydomain2.com') === false) {
headerRedirect('http://www.mydomain2.com/index.php'.returnGlobalGET_QueryString());
}
}
} else {
// check root level for active Domain
if($aktion[0] == 0) {
// pointer on the root level e.g. http://mydomain1.com/ ??
if(strpos(PHPWCMS_URL, 'mydomain1.com')) {
// Yes, go to my startpage for the domain 1
header( "HTTP/1.1 301 Moved Permanently" );
headerRedirect('http:/www.mydomain1.com/index.php?mydomain1_start');
} elseif(strpos(PHPWCMS_URL, 'mydomain2.com')) {
// The same for domain 2
header( "HTTP/1.1 301 Moved Permanently" );
headerRedirect('http://www.mydomain2.com/index.php?mydomain2_start');
} else {
//redirect to "default" -> Fallback if there is an third domain or what ever
header( "HTTP/1.1 301 Moved Permanently" );
headerRedirect('http://www.default.com/index.php?default_start');
}
}
}
?>
Thats it, I hope it is working well for you.
Regards Knut