OK, the code below is far from original, but mixed in it are the parts you need to make nonenglish/yahoo work for you. Ignore most of the output=stuff, as it is designed to my site. I have made the parts I think you need to change red, but you'll have to experiment some...
Also, this is set to have the nonenglish as field 8 in cat.def. And, I have removed a few bits from what I have on my site, so if it looks like something's missing that should be there, probably it should be.
sub site_html_print_cat {
# --------------------------------------------------------
# This routine determines how the list of categories will look.
# We now use a table to split the category name up into two columns.
# For each category you can use the following variables:
#
# $url : The URL to go to that category
# $category_name : The category name with _ and / removed.
# $category_descriptions{$subcat}: The category description (if any).
# $numlinks : The number of links inside that category (and subcategories).
# $mod : The newest link inside of that category.
#
my (@subcat) = @_;
# ***************************************** nonenglish modification - begin ****************
# my ($url, $numlinks, $mod, $subcat, $category_name, $description, $output, $i);
my ($url, $numlinks, $mod, $subcat, $category_name, $description, $output, $i, $nonenglish, $columns, $subcatsub);
# ***************************************** nonenglish modification - end ******************
##added next line LT nonenglish/yahoo mod
# my ($half) = int (($#subcat+2) / 2);
$columns = '2'; #number of columns
my ($half) = int (($#subcat+2) / $columns); $output = qq|<table width="562" border="0" cellspacing="0" cellpadding="0">\n|;
$output .= qq|<tr><td width="50%" valign="top">\n|;
# $output .= qq|<table width="275" border="0" cellspacing="0" cellpadding="0">\n|;
##***next two lines changed LT for arbitraty order mod***
sub byfield { $category{$a}[$cat_sort_field] <=> $category{$b}[$cat_sort_field] };
foreach $subcat (sort byfield @subcat) {
($description) = @{$category{$subcat}}[2];
# ***************************************** nonenglish modification - begin ****************
($nonenglish) = @{$category{$subcat}}[8];
$subcatsub = $nonenglish if ($nonenglish); # ***************************************** nonenglish modification - end ****************** # First let's get the name, number of links, and last modified date...
$url = "$build_root_url/" . &urlencode($subcat) . "/";
# ***************************************** nonenglish modification - begin ****************
# if ($subcat =~ m,.*/([^/]+)$,) { $category_name = &build_clean($1); } else { $category_name = &build_clean($subcat); }
if ($nonenglish eq "") {
if ($subcat =~ m,.*/([^/]+)$,) { $category_name = &build_clean($1); } else { $category_name = &build_clean($subcat); }
}
else {
$category_name = &build_last_title_mb($nonenglish);
}
# ***************************************** nonenglish modification - end ****************** $numlinks = $stats{"$subcat"}[0];
$mod = $stats{"$subcat"}[1];
if ($i == $half) {
$output .= qq~</td><td width="50%" valign="top">\n~;
# $output .= qq~</table></td><td width="275" valign="top"><table width="275" border="0" cellspacing="0" cellpadding="0">\n~;
$i = 0;
}
# Then we print out the name linked, new if it's new, and popular if its popular.
# $output .= qq|<tr><td>\n|;
$output .= qq|<span class="home6e">\n|;
$output .= qq|<span class="home6d">\n|;
$output .= qq|<a class="boldnav" href="
$url">$category_name</a>
<span class="smalltype">($numlinks)</span>\n|;
$output .= qq|</span>|;
### next added LT 2002-Yahoo###
### added 'byfield' for arbitrary order mod###
if ($#{$subcategories{$subcat}} >= 0) {
$v = 0; $output .= qq~<span class="boxtext">~;
foreach $subcatsub (sort byfield @{$subcategories{$subcat}}) {
($nonenglish) = @{$category{$subcatsub}}[8];
$subcatsub2 = $subcatsub;
$subcatsub2 = $nonenglish if ($nonenglish);
$suburl = "$build_root_url/" . &urlencode($subcatsub) . "/";
if ($subcatsub2 =~ m,.*/([^/]+)$,) { $subcategory_name = &build_last_title_mb($1); }
else { $subcategory_name = &build_last_title_mb($subcatsub2); } $output .= qq~<a class="bodynav" href="$suburl">$subcategory_name</a>~ if ($v <= 5);
$output .= qq~, ~ if ($v ne $#{$subcategories{$subcat}} && $v <= 5);
$output .= qq~<a class="smallnav" href="$url"> more</a>...~ if ($v eq "5");
$v++;
}
$output .= qq~</span></span>~;
# $output .= qq~</td></tr>~;
}
###end added LT###
#LT $output .= qq|<dd><span class="descript">$description
#</span></dd>| if (!($description =~ /^[\s\n]*$/));
# $output .= qq|</dl></font></td>\n|;
$i++;
}
$output .= "</td></tr></table>\n";
return $output;
}
Leonard
aka PerlFlunkie