Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Support for multilanguage sites, Internationalization (I18N)
I think I may have found a way to use your custom navigation rendering to (albeit inelegantly) patch up the problem of level 3 and lower directory links if the permalink struture is %parent%/%slug% (the problem being from GetSimple itself, not this plugin of course).

For example, for this structured site:

Home
Menu 1
- Subdir 1-1
- - Subdir 1-1-1
- - Subdir 1-1-2
- - Subdir 1-1-3
- Menu 1-2
- Menu 1-3
Menu 2
Menu 3

The link for "Subdir 1-1-1" is "/subdir-1-1/subdir-1-1-1" instead of "menu-1/subdir-1-1/subdir-1-1-1". To fix this, with your custom rendering example (thanks again for providing this feature!), change

Code:
<?php echo htmlspecialchars($item->link); ?>

to

Code:
<?php
  if($item->parent=='subdir-1-1') $subDir = 'menu-1/';
  else $subDir = '';

  // this displays the link in its entirety
  if($item->parent!=='') {
    get_site_url(); echo $subDir; echo htmlspecialchars($item->parent); echo '/'; echo htmlspecialchars($item->slug); echo '/'; }
  else { get_site_url(); echo htmlspecialchars($item->slug); }
?>

The code basically says "if the current item's parent is level X, include level X-1 in the url". The general solution for further levels is this:
Code:
<?php
  // level 3 links - change lv2-# and lv1-# to the slugs of your respective levels
  if($item->parent=='lv2-1') $subDir = 'lv1-1/';
  elseif($item->parent=='lv2-1') $subDir = 'lv1-2/';
  // level 4 links
    elseif ($item->parent=='lv3-1') $subDir = 'lv1-1/lv2-1/';
    elseif ($item->parent=='lv3-2') $subDir = 'lv1-2/lv2-2/';
  // end of levels - add your extra levels as according with the given examples
  else $subDir = '';

  // don't alter this - it echos the link in its entirety
  if($item->parent!=='') {
    get_site_url(); echo $subDir; echo htmlspecialchars($item->parent); echo '/'; echo htmlspecialchars($item->slug); echo '/'; }
  else { get_site_url(); echo htmlspecialchars($item->slug); }
?>

I wanted to post it here first to see if you thought it was a valid solution, mvlcek. If it is then I'll make a tutorial out of it to better explain its use and hopefully tidy up the code a bit more.
Reply


Messages In This Thread
rewrite language problem - by tomkop - 2013-03-27, 06:34:44
Enhancement suggestion - by hameau - 2013-05-12, 04:17:12
Enhancement request - by hameau - 2013-06-14, 20:02:07
RE: Enhancement request - by mvlcek - 2013-06-14, 22:04:12
RE: Enhancement request - by hameau - 2013-06-14, 23:01:36
Duplicate language cookies bug - by enzy - 2013-08-20, 07:03:26
RE: Duplicate language cookies bug - by ohayo - 2013-08-20, 18:12:25
Plugin is not shown - by tosho - 2013-09-15, 12:10:37
1000 pages limit in i18n_navigation - by titus - 2014-10-13, 21:58:36
Bug found - by lbarsov - 2014-10-17, 03:41:53
Menu with picture - by Dimi - 2015-04-28, 16:05:45
Rendering Menu in Component - by Alexander_ - 2016-05-04, 23:06:51
Meta desc for different languages - by Alexander_ - 2017-02-14, 20:29:32
Hierarchical Menus - by celextel - 2019-07-26, 16:41:47
Ri18n_navigation - by celextel - 2021-02-19, 16:07:48
Support for multilanguage sites, Internationalization (I18N) - by Angryboy - 2012-04-18, 03:50:17



Users browsing this thread: 6 Guest(s)