When you edit the Meta tags of a Panel Page, and then submit, it overwrites the last one edit.
If you edit another one, it overwrite the last one, and so on...
That's mean, that only one the meta tags of a panel page are stored in the database.
I take a look on the database and i see that in table: metatags_quick_path_based
there are three rows only with the field "value" empty in one row, and in the another two, one are related to keywords, and the other to description.
I edit several the meta tags of several Panel Pages, and the number of rows nevers up....... and only stores the last one edit.....
Any idea?
Comment | File | Size | Author |
---|---|---|---|
#1 | 1191322-wrong-argument-passed-edit-form.patch | 576 bytes | valthebald |
Comments
Comment #1
valthebaldActually, this is a side-effect of fixing #1185178: Change location of admin pages to Configuration->Search and metadata - number of path parts changed, so hook_menu passed wrong argument to the editing form.
Attached please find the fix
Comment #2
valthebaldComment #3
JOINSO CreditAttribution: JOINSO commentedTxs, valthebald!
I made the changes of the pathc, but after this i get this error when i edit the meta tags:
Warning: Cannot modify header information - headers already sent by (output started at /home/webadmin/beta.bicisprint.com/html/includes/common.inc:2562) en drupal_send_headers() (línea 1039 de /home/webadmin/beta.bicisprint.com/html/includes/bootstrap.inc).
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'jcms.cache_variable' doesn't exist: DELETE FROM {cache_variable} WHERE (expire <> :db_condition_placeholder_0) AND (expire < :db_condition_placeholder_1) ; Array ( [:db_condition_placeholder_0] => 0 [:db_condition_placeholder_1] => 1308298430 ) en cache_clear_all() (línea 169 de /home/webadmin/beta.bicisprint.com/html/includes/cache.inc).
I undone the changes, but the problems still there....
Any idea?
Comment #4
valthebaldI doubt that missing cache_variable table can be related with metatags_quick.
Where this table comes from? It's not part of core tables, as far as I see
Comment #5
valthebaldHave a look at #1074084: Table 'xxxxxxx.cache_variable' doesn't exist - may be it can help
Comment #6
JOINSO CreditAttribution: JOINSO commentedNOW IT WORKS!
Good job, valthebald!
I created the table missing (cache_variable). Also i see that is an exact copy of cache_field ....... Why two identical tables????
And now works the Panel Page!!!
But only remaining thing doesn't work.....
I had one Panel page with Variants:
http://beta.bicisprint.com/es/club
and
http://beta.bicisprint.com/club
The default language of the site is Catalan, and all of the paths of this language hasn't prefix.
The paths of Spanish content starts with /es/......
In some Panel Pages with same name for both languages i have to make variants based on url path.
If i edit the Meta tags of /es/club (internally alias is club) it stores with language es....
But if edit /club (url path in catalan) it's overrides the es version.....
Any idea?
Regards!
Comment #7
JOINSO CreditAttribution: JOINSO commentedHi!
I make some tests in the database.
Here are the contents for Panel Page (/club and /es/club):
'club', 'es', 46, 'bicisprint, ciclisme'
'club', 'es', 47, ''
'club', 'es', 48, 'Aquesta és la página web del club ciclista BiciSprint.'
'es', 'es', 46, 'ciclismo, sabadell'
'es', 'es', 47, ''
'es', 'es', 48, 'Esta es la pagina web del club ciclista BiciSprint'
I try to change the path field to:
club (for catalan) and /es/club (for es: spanish)
Doesn't work....
Also I put language ca but it doesn't work....
Regards!
Comment #8
valthebaldI don't use panels, and after quick attempt didn't understand how they handle i18n issues.
Is there 'language' property?
Comment #9
JOINSO CreditAttribution: JOINSO commentedHi, valthebald!
Panels Pane doesn't handle i18n, and there is not any field that store it.
There are some post about this....
The selection of the language in Panels Pane relies on the selection of language in Drupal:
In Drupal 7:
http://YOUR_SITE#overlay-context=user&overlay=admin/config/regional/language/configure
Then you can config the detection method of language.
In my case the order is:
URL
Session
User
Navigator
Default (this is the default language of the site).
In languages,you can have several languages, and every languages has their prefix in URLs.
In my case, the default language is Catalan, and the prefix of URL is empty.
For other languages, like Spanish, i have the "es" prefix.
When you navigate to content with "es/path" then language selected is Spanish.
When I test Meta Tags Quick with Panels Pages, the language always is Spanish (es).
I don't know why because the default language of the site is catalan (ca).
I think that Meta Tags Quick must follow the rules of Language Detection if they cannot retrieve it from the content.
Also the another problem is the path.... that i think is not handled properly.
I opened another issue where i explained more clearly and with some examples.
If you need help to make changes on the module, i can help you.
Regards!
Comment #10
JOINSO CreditAttribution: JOINSO commentedHi!
You can close it.
I found the problem.
The problem is the configuration of language detection:
In Drupal 7, if you have this order of detection:
URL
Session
User
Navigator
Default (this is the default language of the site).
The result return "es" when you are viewing a page under default language (ca).
If i only enable this kind of selection:
URL
Default.
the detection of language works well and Meta Tags Quick get the correct language.
Regards!