Hi!
Okay, the trouble seems to stem from the part "c.category_left BETWEEN 0 AND 0".
This NEVER happens, thus the query returns no entries.
This "0" comes from the URL, where the category-URL actually tries to be matched to a category ID. If your permalink of the categories does not hold a %id% portion, the lookup would be performed on the Blog_permalinks DB tabe. In your case, you do have the %id% in the URL string, so some other mismatching must happen.
Let's take this on by checking some more things. Open up your index.php file in the editor, this is where the main redirection logic of Serendipity is kept. At around the middle of the file, the URL is checked against all possible URL variants to see, what kind of URL serendipity should open when you view a category.
The precise case to view a category is this one:
Code: Select all
} else if ($is_multicat || preg_match(PAT_PERMALINK_CATEGORIES, $uri, $matches)) {
At around line 405. Now we'd have to see if this really gets evaluated in your case. So, after this IF statement insert a
statement, and view your category URL. See if you get this output only. If you do, we can work on further from that and see why $serendipity['GET']['category'] is not properly assigned. To do this, within the same IF-clause a few lines down you see:
Code: Select all
include(S9Y_INCLUDE_PATH . 'include/genpage.inc.php');
(line 459) - there, you simply change it to:
Code: Select all
die('CATEGORY-ID:' . print_r($serendipity['GET']['category'], true));
include(S9Y_INCLUDE_PATH . 'include/genpage.inc.php');
and see which output you get.
Now for the other case, if you DO NOT get the "CATEGORY VIEW" output previously, we would need to check why the regular expression does not match.
To do that, you put this code at the VERY END of the index.php file, and you should see the output in the HTML sourceode of your blog then:
Code: Select all
if ($is_multicat) {
echo 'MULTICAT.';
} else {
echo 'NO MULTICAT.';
}
echo 'Matching ' . PAT_PERMALINK_CATEGORIES . ' on ' . $uri . ':';
if (preg_match(PAT_PERMALINK_CATEGORIES, $uri, $matches)) {
echo 'Matched : ' . print_r($matches, true) ;
} else {
echo 'Match fail.';
}
HTH,
Garvin