Taxonomy block SQL hiba / adatbázis mező név

Anonymous képe

Sziasztok!

Feldobtam ezt a kérdést a Drupal.org-on, de nem kaptam rá választ. Lehet, hogy valami teljesen nyilvánvalót kérdezek, de nem találom a megoldást.

A következő hibát kaptam 4.6.6 alatt:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND n.status = 1 ORDER BY sticky DESC, created DESC LIMIT 5' a query: SELECT DISTINCT(n.nid), n.title, n.body FROM term_node t INNER JOIN node n ON t.nid = n.nid WHERE t.tid IN () AND n.status = 1 ORDER BY sticky DESC, created DESC LIMIT 5 in /home/path/to/html/includes/database.mysql.inc on line 66.

gdavid képe

megprobalom leirni miert nem lehet egyszeruen par lepesbol hibara futtatni vele.
de
hozzal letre egy forumot.
es kezdd el hozzaszologatni.
legyen par 4-5-6 szintu szal.

namarmost amig az embernek csak par foruma es par viszonylag keves szamu commentje es comment szalja van addig nincs is nagy lathato problema.

De a hiba nem egyik pillanatrol a masikra bontakozik ki.
ugye a commenteknek van egy thread-je, ami karaktersorozat, es php inkrementalja az erteket, mert van benne betu is.
namarmost ez normalis esetben a thread ugy nez ki hogy
az alap hozzaszolas XXXXXXX/ formaju.
erre erkezett valaszok XXXXXXX.00/ XXXXXXX.01/ ....
a XXXXXXX.00/ -ra erkezett valaszok pedig XXXXXXX.00.00/ , XXXXXXX.00.01/ .. es igy tovabb

namarmost mikor pg-ben megkerdezik, hogy egy adott node id-je (nid) eseten mi a legnmagyobb thread (uj hozzaszolas eseterol van szo), akkor o megmondja, hogy ez az XXXXXXX.00.01/
mert

# select '123456/' > '123456.01.01/';
 ?column? 
----------
 f
(1 sor)
# select 'a' > '/';
 ?column? 
----------
 t
(1 sor)
# select 'a' > '.';
 ?column? 
----------
 t
(1 sor)
 
# select '0' > '.';
 ?column? 
----------
 t
(1 sor)
 
# select '/' > '.';
 ?column? 
----------
 f
(1 sor)

mint latjuk a fentiekbol az alfanumerikus karakterek nagyobbak a '/' vagy a '.' jelnel. innentol foggva meg mar a '.' es a '/' harcarol beszelunk, amit viszont a PG eseteben mint a .org -on is irtam, a '/' rovasara a '.' nyer, mert neki -47 mig a '/'-nek -48 a kodja.

de a nekunk ez miert is jelent problemat?

azert, mert a comment.module kovetkezo par sora a hiba masodik oldala.

          // Strip the "/" from the end of the thread. 
          // levagja a sor vegerol a '/'-t
          $max = rtrim($max, '/');
 
          // Finally, build the thread field for this new comment. 
          //vissza es atalakitja a kodot mikozben emel rajta egyet. *
          $thread = int2vancode(vancode2int($max) + 1) .'/';

na, a * resznel kovetkezik be a hiba, mert a vancode2int fv egy olyan boduletes nagy szamot alkot azokbol, amiben '.' van hogy csak lesel, mikozben az int2vancode visszalakitja, mar olyant kapsz/kaphatsz, ami meg mar van. mikor pedig kicsit lejjebb beszurja mar kesz is a baj. hiszen minden valasz ami a multiplikalt threadekre erkezik, a rendszer egymas ala pakolja.
helytelenul, igy pedig osszekeverednek rendesen a valaszok amennyiben beagyazott nezeteket valasztanak. (megjegyzem nana hogy osszekeveri oket, mert thread alapjan rendez ez 15, 20, db ugyanolyan thread elmeletileg nem lehetne, pedig van a multiplikacio kovetkezteben)

megprobaltam eleg jol osszefoglalni. igy ezek keletkeznek... ami elmeletileg nem lehetne.

 count |                 thread                  
-------+-----------------------------------------
   706 | 5v4k5zt/
   321 | 5yfchgz/
   254 | 55e37z3/
   215 | 00/
   200 | 5qevegz/
   188 | 01/
   153 | 02/
   133 | 03/
   111 | 04/
    91 | 05/
    77 | 06/
    68 | 07/
    65 | 5dndhxd/
    64 | 55hti3j/
    60 | 08/
    52 | 09/
    49 | 0a/
    48 | 0b/
    48 | 5ohyntz/
    45 | 0c/
    45 | 5xv81zt/
...

ellenben ha csak azok kozott keressuk a maximum-thread-et amiknek nincs pid (parent id) -juk akkor mind a pg mint a my jol csinalja.

0
0
szt képe

Most itt tartok:
- ha átmenetileg meghekkelem a viewst, akkor működik :)
- viszont saját modulban nem megy (a hook_menu oké, a hook_form_alter is oké, szóval az értékek megváltoznak rendben)

  1. /**
  2.  * Implements hook_menu().
  3.  */
  4. function taxonomyautocomplete2_menu() {
  5. $items['ta2/autocomplete'] = array(
  6. 'title' => 'Custom autocomplete taxonomy',
  7. 'page callback' => 'taxonomyautocomplete2_autocomplete',
  8. 'access arguments' => array('access content'),
  9. 'type' => MENU_CALLBACK,
  10. );
  11. return $items;
  12. }
  13.  
  14. /**
  15.  * Implements hook_form_alter().
  16.  */
  17. function taxonomyautocomplete2_form_alter(&$form, &$form_state, $form_id) {
  18. switch ($form_id) {
  19. case 'views_exposed_form':
  20. $form['field_telepules_tid']['#autocomplete_path'] = 'ta2/autocomplete';
  21. break;
  22. }
  23. }

Viszont a json, amit visszaad, az üres.

Ha beírom a böngészőbe az eredeti útvonalat mondjuk "buda" kereséssel:

  1. http://localhost/admin/views/ajax/autocomplete/taxonomy/5/buda

, akkor szépen visszaadja a találatokat:

  1. {"Budajen\u0151":"Budajen\u0151","Budakal\u00e1sz":"Budakal\u00e1sz","Budakeszi":"Budakeszi","Buda\u00f6rs":"Buda\u00f6rs","Budapest":"Budapest"}

De a módosított utvonalam üreset ad:

  1. http://localhost/ta2/autocomplete/buda

Biztos jó az új útvonal így? Az eredeti útvonalban benne van a taxonomy/5, ami a szűrendő szótár. Az új útvonal honnan tudja, hogy miben kell keresni?
Nem kell valahogy beleheggeszteni abba is a szótár útvonalát?

0
0
Sk8erPeter képe

"Egyrészt, mert a modul fejlesztője megírta, hogy nem megy ;)"
Hmm, hát az gáz, ha nem eleve többnyelvűségre készítette fel a modult. :(

"Másrészt pont az a baj, hogy ez a bizonyos single_page nem jelenik meg node-ként a rendszerben."
Nem is kell, hogy megjelenjen "node-ként"... a Views által kreált page-ek sem node-ok. :)

"Semmi nyoma nincs, nincs ilyen tartalom, block, path alias, semmi."
Dehogynem. Nézd meg a modulban a hook_menu() implementálását.
http://drupalcode.org/project/single_page_website.git/blob/906b1adf1ac47...

  1. /**
  2.  * Implements hook_menu().
  3.  */
  4. function single_page_website_menu() {
  5. $items = array();
  6. $items['single_page'] = array(
  7. 'title' => '',
  8. 'page callback' => 'single_page_website_front_page',
  9. 'access callback' => TRUE,
  10. );
  11. $items['admin/config/system/single-page'] = array(
  12. 'title' => 'Single Page Settings',
  13. 'description' => 'Configure theme and easing of the single page etc.',
  14. 'page callback' => 'drupal_get_form',
  15. 'page arguments' => array('single_page_website_settings_form'),
  16. 'access arguments' => array('administer single page'),
  17. 'file' => 'single_page_website.admin.inc',
  18. );
  19. return $items;
  20. }

Az $items['single_page'] a lényeg. A single_page-re tehát itt definiál egy elérési utat, és azt is megmondja, hogy az oldal megnyitásakor a single_page_website_front_page() függvény kimenete jelenjen meg az oldalon (callback).


"Ha beírom a frontpage variable-be, hogy single_page, akkor legyárt "valamit" a Primary links-hez rendelt menüelemekhez rendelt tartalmakból, ami kvázi egy oldalként jelenik meg a felhasználónak."

A single_page_website_front_page() függvény határozza meg, mi lesz a kimenet.

Ahogy elnézem, itt a phpQuery (asszem ez az: http://code.google.com/p/phpquery/) library-t használja fel a kimenet összepakolására, ami meglehetősen ellenkezik a Drupal-konvenciókkal.
Igazából ezek alapján már nem is csodálkozom, hogy a többnyelvűség nem működik.

0
0
Szotyi képe

Leírok egy megoldást, hátha az utókor számára hasznos lesz:

Taxonómiák többnyelvűsítése

Szükséges modulok:
- Entity translations: drush en entity_translation
- Title: drush en title
- Taxonomy translation: drush en i18n_taxonomy
- Field translation: drush en i18n_field
- Synchronize translations: drush en i18n_sync (A tartalomtípusok egyes mezőinél megjelenik egy ‘Fordítások összehangolása’ szekció)

- összes bekapcsolása: drush en entity_translation title i18n_taxonomy i18n_field i18n_sync -y
- magyarítás:
Állítsuk be az Entity translation nevű modult!
Beállítások - Helyek és Nyelvek - Entity translation
Translatable Entity Types:
Tartalom + Taxonómia kifejezés: pipa
[ Beállítások mentése ]

Hozzunk létre egy “Termék” adattípust, amelyet többnyelvűsíthetünk:
Felépítés - Tartalom tipusok -Tartalom típus hozzáadása
Név: Termék - Programok által használt név: termek
Beküldési beállítások:
Cím mező felirata: Megnevezés
Közzétételi beállítások:
Címlapra helyezve: nincs pipa
Több nyelv támogatása: Enabled, with field translation
Tartalomfordítás hivatkozásainak elrejtése: pipa
Megjelenítési beállítások:
Szerző és dátum megjelenítése: nincs pipa
Menübeállítások
Sehol nem kell pipa, azaz nem kell menübe rakni.
[ Tartalomtípus mentése ]

‘Termék’ tartalomtípushoz egy új mező ( PDF file ) hozzáadása (Opcionális):
Új mező hozzáadása: Pdf fájl - field_pdf_fajl - Fájl [ Mentés ] [ Mező beállításainak mentése ]
Megengedett fájlkiterjesztések: txt, pdf, png, jpg, doc, docx, xls
Mező fordítása: pipa
[ Beállítások mentése ]
Pdf fájl mező feljebb rakása a Cím alá
[ Mentés ]

Állítsuk be ezt a Tartalomtípust az Entity translation modulon belül:
Beállítások - Helyek és nyelvek - Entity translation
Tartalom fieldset:
Termék:
Alapértelmezés szerinti nyelv: Alapértelmezés szerinti nyelv
Hide language selector: pipa
Exclude Language neutral from the available languages: pipa
[ Beállítások mentése ]
Taxonomy létrehozása a termékek kategórizáláshoz és annak beállítása:
Felépítés - Taxonómia - [ Szótár hozzáadása ]
Név: Termékkategóriák - Programok által használt név: termekkategoriak
‘Többnyelvű lehetőségek’ fieldset:
* A kifejezések számára nincs többnyelvű lehetőség. A szótár lesz csak fordítható.
[ Mentés ]

Adjunk hozzá egy új mezőt ( Termékkategória kép ) ehhez a szótárhoz (opcionális):
Termékkategóriák - [ szótár szerkesztése ] [ Mezők kezelése ] fül
Új mező hozzáadása: Kategóriakép - field_kategoriakep - Kép - Kép [ Mentés ]
[ Mező beállításainak mentése ]
Előnézeti képstílus: Médium (220x220)
Mező fordítása: pipa A felhasználók ennek a mezőnek az összes előfordulását lefordíthatják
[ Beállítások mentése ]
Kategóriakép mező felvitele a Név mező alá [ Mentés ]
Állítsuk be ezt a szótárt a Entity translation modulon belül:
Beállítások - Helyek és nyelvek - [ Entity translation ]
Taxonómia kifejezés fieldset lenyitása
Termékkategóriák szótárnál:
Alapértelmezés szerinti nyelv: Alapértelmezés szerinti nyelv
Hide language selector: pipa
Exclude Language neutral from the available languages: pipa
[ Beállítások mentése ]
Állítsuk be a Title modult a ‘Termék’ tartalomtípusnál és a ‘Termékkategóriák’ szótárnál!
Tartalomtípus beállítása
Felépítés - Tartalom típusok - Termék - [ Mezők kezelése ]
‘Megnevezés’ sor végén [ replace ] - Replace title with a field instance: pipa
[ Beállítások mentése ]

Taxonómia beállítása
Felépítés - Taxonómia - Termékkategóriák - [ Mezők kezelése ]
‘Név’ sor végén [ replace ] - Replace name with a field instance: pipa
[ Beállítások mentése ]
Leírás sor végén [ replace ] - Replace description with a field instance: pipa
[ Beállítások mentése ]
Mezők beállítása a tartalomtípuson és a szótáron:
Elméletileg mind a tartalomtípusnál mind a szótárnál a “mező fordítása” be van pipálva.
A Termék törzs mezőjét is be kell állítani:
Felépítés - Tartalomtípusok - Termék - [ Mezők kezelése ]
Body sor végén [ szerkesztés ]
Felirat helyett: Törzs helyett Leírás
[ Enable translation ] [ Megerősítés ]

Taxonómia - Termékkategóriák - [ Mezők kezelése ]
Kategóriakép sor végén [ szerkesztés ]
Field synchronization: pipa
[ Beállítások mentése ]
Hozzunk létre két példa taxonómia kifejezést majd fordítsuk is le azokat!
Felépítés - Taxonómia - Termékkategóriák - [ Kifejezés hozzáadása ]
Név: Csatlakozók
Termékkategória kép feltöltése (opcionális)
[ Mentés ]
[ Lista ] fül - Csatlakozók sor végén [ szerkesztés ] - [ Fordítás ] fül
English sor végén [ hozzáadás ]
Név: Fittings
[ Save ]

Felépítés - Taxonómia - Termékkategóriák - [ Kifejezés hozzáadása ]
Név: Csapok és szelepek
[ Mentés ]
[ Lista ] fül - Csapok és szelepek sor végén [ szerkesztés ] - [ Fordítás ] fül
English sor végén [ hozzáadás ]
Név: Valves
[ Save ]

Opcionális: vigyük fel az összes létező termékkategóriát!
Ezt megcsinálni az összes taxonómia kifejezésnél!
Fordítsuk le a szótárt!
Felépítés - Taxonómia - Termékkategóriák - [ Fordítás ]
English sor végén - [ fordít ]
Név: Product Categories
[ Fordítás mentése ]

Rendeljük hozzá a ‘Termék’ tartalomtípushoz a ‘Termékkategóriák’ szótárat!
Felépítés - Tartalomtípusok - Termék - [ Mezők kezelése ]
Új mező hozzáadása
Kategória - field_kategoria - Kifejezés hivatkozás - Legördülő lista
[ Mentés ]
Szótár - Termékkategóriák
[ Mező beállításainak mentése ]
Mező fordítása (legalul):
Users may translate all occurrences of this field: pipa
[ Beállítások mentése ]
Hozzunk létre egy terméket!
Tartalom - Tartalom hozzáadása - [ Termék ]
Cím: Első termék
Body: magyar leírás
Kategória: Első kategória
[ Mentés ]

Fordítsuk is le ezt a most létrehozott terméket!
[ Fordítás ] fül
‘English’ sor végén [ add]
Cím: first product
Body (all languages): angol leírás
[ Save ]

Így már a nyelvváltó zászlókra kattintva a felvitt termék neve, leírása és kategóriája lefordul.
‘Kategória’ mező címkéjének fordítása
Field translation modul bekapcsolása: drush en i18n_field
Felépítés - Tartalomtípusok - Termék - [ Mezők kezelése ]
Kategória sor végén [ szerkesztés ]
[ Fordítás ] fül - English sor végén [ fordít ]
Felirat: Category
[ Fordítás mentése ]

Ha van még lefordítandó mező (például ‘Pdf file’), akkor azt is lefordítani.
---------------------------------------------------------------------------------

Rakjuk ki a taxonómia kifejezéseket oldalsó menübe!
drush en taxonomy_menu -y → Így a taxonómiákhoz került egy Taxonomy menu filedset.
magyarosítsuk le:
Beállítások - Helyek és nyelvek - Felület fordítása - [ Frissítés ]
[ Kézi ellenőrzés ]

Hozzunk létre egy Termékek menüt:
Felépítés - Menük - Menü hozzáadása
Cím: Termékek
[ Mentés ]

Rendeljük hozzá a ‘Termékkategóriák’ taxonómiát ehhez a menüponthoz!
Felépítés - Taxonómia - Termékkategóriák - [ Szerkesztés ]
Többnyelvű lehetőségek rádiógomb: Honosítás. Kifejezések közösek minden nyelv számára, de a nevük és a leírásuk honosítható.
Taxonomy menu fieldset
Menu location: Termékek
Alul: Ha ki van választva, a beküldés után a menü újraépítése megtörténik: pipa
[ Mentés és fordítás ]

Rakjuk ki oldalsávba a menüblokkot!
Felépítés - [ Blokkok ]
Termékek - Első oldalsávba rakni [ Blokkok mentése ]

A Termékek blokk címét is fordítsuk le!
Felépítés - Blokkok - Termékek blokk szerkesztése
Blokk címe: Termékek
Nyelvek fieldset: A blokk fordíthatóvá tétele: pipa
[ Blokk mentése ]
Termékek blokk jobb felső sarka - Fordítás
English sor végén - [ fordít ]
Cím: Products [ Fordítás mentése ]

Állítsuk be és fordítsuk le a termékek alapértelmezett nézetét!
Rákattintunk egy alkategóriára, ahol vannak termékek. S a tartalommezőbe ezek ki is listázódnak.
Pl: Menetes csatlakozók - jobb felső sarokban: nézet szerkesztése
Formátum szekció:
Táblázat - [ Alkalmazás (minden megjelenítésre) ]
Mezők szekció - [ hozzáadás ]
Entity translation: Megnevezés: translated: pipa
Entity translation: Pdf fájl: translated: pipa
[ Alkalmazás (minden megjelenítésre) ]
Felirat: Megnevezés
[ Alkalmazás (minden megjelenítésre) ]
Felirat: Pdf file
[ Alkalmazás (minden megjelenítésre) ]
[ Mentés ]

2
0

Péter

Avatarok megjelenítése aktivitás szerint - title hogyan?

ninja képe

szeretném a segítségeteket kérni.
van egy oldal ami aktivitás szerint listázza ki a userek avatarját: http://criticalmass.hu/tagjaink
szeretném elérni, hogy az avatar fölé vitt egér kiírja a felhasználó nevét (ne a uid-t!).
az a csavar a dologban, hogy a userek nevét a Pathauto generálja (http://criticalmass.hu/tagok/tagneve).

itten van a kód:

Fórum: 

db_prefix_tables és a {} jelek

pentike képe

Sziasztok!

Egy régi adatbázist migrálgatok 5-ös alá és úgy alakult, hogy cck mezőkkel oldottam meg az új tartalmat, ami az adatbázisban szerializált php cuccokat tárol, tehát tele van {} jelekkel.

Namármost ugye ezek a drupal tábla escape karakterei és a db_prefix_tables() szépen kigyomlálja őket.

Van valami elegáns megoldás erre? - Én most átírtam a core-t, hogy működjön, végülis csak ideiglenesen van rá szükség:

db_prefix_tables($sql) {
 
...
 
  else {
Fórum: 

drupal_goto("/xy.php");

Magus képe

Sziasztok!

Az egyik modulhoz komplett admin tartozik (régebben saját cms-hez megírt modul lett implementálva a drupalba), ennek az elérését szeretném a menübe helyezni.

Közvetlenül ha beírtam a menübe, akkor a / jelet, akkor azt % 2 5 2 F-ra kódolta, ezért gondoltam kicselezem, és a

$item[] = Array(
	'path' => 'xyadmin',
	'title' => t('Adminisztráció'),
	'callback' => 'xy_admin_goto',
	'callback arguments' => 'xy_admin_goto',
	'access' => user_access('access administration pages'),
	'description' => "Adminisztráció",
	'type' => MENU_CALLBACK
);

Fatal Error

deltafly képe

Üdvözletem!

A Taxonomómiához szerettem volna képet rendelni...

Ime az eredmény:
Fatal error: Call to undefined function _pathauto_include() in /***/***/*****.hu/sites/all/modules/ubercart/uc_catalog/uc_catalog.module on line 525

Megnéztem a line 525-t illetve az ehhez tartozó részt:

*/
function _uc_catalog_pathauto_alias($category, $op) {
_pathauto_include();
  $count = 0;
 
  if ($category->vid == variable_get('uc_catalog_vid', 0)){
    $placeholders = pathauto_get_placeholders('taxonomy', $category);
 
    $src = uc_catalog_path($category);
Fórum: 
Drupal verzió: