One feature I was missing with this perfect multilingual solution is to create "non symmetrical" sites.
What I mean is to have the possibility to filter different documents in different languages.
This is specially important when creating navigation.
With ditto filters and using multilingual TVs this is not big issue.
With Wayfinder the only way to filter (I know) is to use &excludeDocs.
Here is (not very polished) snippet, which can be used for this:
There are some ideas, taken from other posts in this forum, sorry than I don’t give explicit credits to the people
<?php
/**
* Return Coma Delimited Children
* Created by Dimitar Dimitrov 2009
* Call like so:
*
* [!ComaDelimitedChildren? &startID=`start parent id` &depth=`depth in the document tree` &tv=`tv name` &tvLang=`lang id` &filter=`value,mode`!]
*
* Mode can either be 1 or 2. Mode 1 is not equal and mode 2 is equal. [2]
*/
$startID = isset( $startID )? $startID: $modx -> documentObject['id'];
$tv = isset( $tv ) ? $tv : "";
$depth = isset( $depth ) ? $depth : "1";
$tvLang = isset( $tvLang ) ? $tvLang : "";
$tv=$tv.'_'.$tvLang;
$flt = explode( ',', $filter);
$value = $flt[0];
$filtertype = isset( $flt[1] ) ? $flt[1] : "2";
$ids = $modx->getChildIds($startID,$depth);
$out=array();
$condition='';
foreach ($ids as $id) {
$condition='';
$tvarray = $modx -> getTemplateVarOutput( $tv, $id, $published = 1 );
$condition=$tvarray[$tv];
if ( ($filtertype == 1) && ($condition != $value)) {
$out[]= $id;
}
else if ( ($filtertype) == 2 && ($condition == $value) ) {
$out[]= $id;
}
}
$out[]='-1';
$output=implode(',',$out);
return $output;
?>
Then call like this:
[!Wayfinder? &startId=`3` &limit=`10` &excludeDocs=`[[ComaDelimitedChildren? &startID=`3` &tv=`available` &tvLang=`(yams_id)` &filter=`1,1`]]` &hideSubMenus=`TRUE` &outerTpl=`sub_menu_outer.wf` &rowTpl=`sub_menu.wf` &rowClass=`navButton` &hereClass=`currentSection` &lastClass=`last`!]
and radio or dropdown TVs with name available_en available_fr available_bg would allow the menu produced bu WF to be different per language.