Not sure if this is a Nodewords or Chameleon problem. The latest update of Nodewords, Basic Meta Tags etc. stopped generating meta tags for all my Chameleon-themed pages. Works just fine with Garland (Admin) & Bluemarine though.
I reverted to an older release of Nodewords to get my meta tags showing again. Unfortunately I lost all my customized keywords and descriptions before I figured out the problem.
My site is an online Bible - over 1300 pages. Sigh. www.SearchScriptures.com
Comments
Comment #1
johnalbinThe project/chameleon project is a port of Drupal 6's core theme to a Drupal 7 contributed theme. Since its likely you are using D6 core's chameleon (and not D7), I'm moving this to nodewords' D6 queue.
Comment #2
avpadernoMay you report which version are you currently using?
Comment #3
avpadernoComment #4
flyingblind commentedI was using Nodewords 6.x-1.8 with Drupal 6.14.
I've since reverted to Nodewords 6.x-1.0 which seems to work fine with 6.14.
Comment #5
avpadernoI am using the development snapshot, and it works fine with Drupal 6.15 too.
Comment #6
avpadernoJust to understand: how can you use a theme that is for Drupal 7, and Nodewords that is only for Drupal 6 on the same Drupal installation?
Comment #7
avpadernoThe problem is caused by the theme; the module define a preprocess function, which is registered by Drupal, but the theme doesn't use. I think the problem is caused by the fact Chameleon is not a PHPTemplate theme.
Comment #8
tigre commentedHello, this is my first post on drupal.org and I am quite new with this great cms.
This morning I found a similar problem with Chameleon theme for drupal 6.x
I was doing experiments with Modal Frame API so I installed jquery_ui and jquery_update, but the Modal Frame examples were not working. After printing a lot of dumps I discovered that the function jquery_update_preprocess_page() that would do the work to load the latest jquery version (needed by Modal Frame) was not called at all. I made more dumps and I found that normally those kind of preprocess functions would be called in include/theme.inc in the theme() function, but this does not happen if the theme is based on a function instead of a template, like in Chameleon case.
Where is the mistake? The theme() function should call preprocess functions also in the case of theme functions? Or this behaviour is expected only for template themes, so jquery_update should use an other way to load its stuff for the general case?
PS: I found the Chameleon theme in the standard Drupal 6.14 distribution, now I will try some other theme to make Modal Frame API work as expected
Comment #9
avpaderno@tigre: See comment #1. The project you moved the report has nothing to share with the theme used in Drupal 6 and previous versions.
Comment #10
tigre commented@kiamlaluno: Sorry for the mistake, now I understand the point about #1. Maybe this issue should be labeled as "Drupal 6 Core"? I see that there are several modules that have *_preprocess_page() function not called in case of function themes. So, if I understand right, the occurrence of the problem in Nodewords is only a specific case of a more general issue. What is the right thing to do in such cases?
Comment #11
avpadernoOne thing that could be done is to open an issue report for Drupal.
I am not sure they are going to fix the theme, which should be converted to use PHPTemplate as theme engine.
I would still open a issue report; in the case it is said that nothing can be done (or will be done), then it could be possible to create a theme that would be the port to PHPTemplate of Chameleon.
Comment #12
avpadernoSee #671508: Chameleon theme doesn't allow hook_preprocess_page() to be executed.
If the report does not have a positive reply, I could try to port the theme to PHPTemplate. It is not one of my priorities, and creating themes is not something I am good in, but I would like to create a port of Chameleon that uses PHPTemplate, and with theme settings.
Comment #13
tigre commentedThank you kiamlaluno for the support about Drupal issues system.
Now I am using a theme based on PHPTemplate and everything works fine.
Comment #14
alesand commentedYou could insert this lines:
$result = _nodewords_detect_type_and_ids();
$output .= nodewords_output_tags(nodewords_get_tags($result[0], $result[1])) . "\n";
after
$output .= "<head>\n";
in chameleon.theme