אירוח ופיתוח האתר נתרמו באדיבות...
- לינווייט - תשתיות תוכן וקהילה
- אמנון לבב - לבבי מדריכים
הי,
קיים מודול חדש עבור CCK, אשר מאפשר לקבץ שדות מסויימים תחת קבוצה.
האם קיים משהו דומה עבור taxonomy או category?
שיאפשר לי, גם לקבץ ועל הדרך גם לסדר בצורה טובה יותר את מיקום הקטגוריות במקומות הרצויים ולאו דווקא בתחילת דך התוכן...
| סוג | נושא | מאת | תגובות | התעדכן |
|---|---|---|---|---|
| שאלה | שאלות כלליות בנושא שרת ואחסון אתרים | אמיר תייר | 3 | לפני 3 שעות 11 דקות |
| שאלה | דרוש מתכנת Drupal מנוסה למשרה מלאה | oded | 0 | לפני 4 שעות 20 דקות |
| שאלה | אם אני רוצה שבדף הראשי לא תוצג הכותרת של העמוד, איך אני עושה זאת? | AKAVIS | 0 | לפני 4 שעות 40 דקות |
| שאלה | בעיה מוזרה מאוד בעיצוב בדרופל + בעיה אחרת | AKAVIS | 2 | לפני 4 שעות 41 דקות |
| שאלה | משלוח ניוזלטר למספר גדול של מנויים | liats75 | 8 | לפני 8 שעות 12 דקות |
| שאלה | ייבוא nodes מקובץ XML ב UBERCART | ori | 0 | לפני יום אחד 12 שעות |
| שאלה | איך מעלים תצוגה של האתר עם | שמרית | 0 | לפני 3 ימים 4 שעות |
| שאלה | mysql לא עובד | שמרית | 2 | לפני 3 ימים 8 שעות |
| הודעה | קול העם ב-IRC, ועידת קהילה | Zus | 3 | לפני 3 ימים 12 שעות |
| שאלה | הקמת פורטל | morpheus | 1 | לפני 3 ימים 12 שעות |
מיקום קטגוריות
במיקום הקטגוריות ניתן לשלוט בקלות דרך עריכת העיצוב. ערוך את קובץ node.tpl.php. פשוט תזיז אותן מההתחלה לאמצע או לסוף.
אבל אם הבנתי אותך נכון אתה רוצה גם קיבוץ קטגוריות. אני לא כל כך מבין מה זה קיבוץ קטגוריות - האם המדובר על מצב שבו יש באתר מילונים שונים שאפשר לסווג את פריט התוכן לפיהם (נניח צבע וגודל)? האם אתה מעוניין להציג את הסיווגים של כל מילון בנפרד? בכל מקרה המקום להכניס גם את זה הוא לדעתי בתוך node.tpl.php.
אמנון מאיר לבב
בניית אתרים בדרופל, ייעוץ והדרכה
אמנון מאיר לבב, לבבי מדריכים
בניית אתרים בדרופל - ייעוץ ואימון אישי
קיבוץ מונחים
לבבי ענה לך על השאלה השנייה. לגבי הראשונה: לו היית מקליד term by vocabularies drupal בגוגל היית מגיע ל:
http://drupal.org/node/53089
(אם כי אני לא מרוצה מהקוד; כתבתי שם הערה.)
אני אנסח את זה מחדש...
כן, ועוד המון סיווגים אחרים...
לא היו שתי שאלות, והלינק הזה לא עונה לי על השאלה...
עכשיו שבאמת הגעתי להתעסק עם זה, אני מבין את בעיית הניסוח הראשוני שלי.
מודול FieldGroup מאפשר איחוד של שדות הCCK, בזמן עריכה או יצירת הדף התוכן.
מה שאני מחפש זה אפשרות ב-form_alter של אותו דף תוכן, לשלב את ה-taxonomy בתוך אותן קבוצות, כאילו היו חלק מהן.
במקום שיופיע בתוך קבוצה אחת ענקית שנקראת Categories.
מדובר על שאלון מעוד גדול, ויש המון סיווגים שונים, כדי לאפשר לי בשלב מאוחר יותר, חיתוכי מידע שונים...
תודה
בברכה,
מתי
אחסון | החלפת קישורים | מאמרים | דרושים
MtK - פתרונות אינטרנט חכמים | MtK - Smart Internet Solutions
גן פו הדב | גן מעיין | גן גוזלים
הנדסת תוכנה - בן-גוריון | הכרויות | מומחי איביי - ישראל
Reacher Music Teacher | Study Hebrew
תיירות בישראל | אטרקציות בישראל | צימרים בישראל
מיקום הטקסונומיות בטופס
עכשיו הבנתי.
נצרכתי לעשות דבר דומה לפני כשבועיים. כתבתי מודול של node, ובוררי הטקסונומיות ("בורר" = selector), שהוצגו בתחילת הטופס רחוק מהמקום שבו היו אמורים להשתמש בהם, נראו כנטע זר ועלולים היו להקשות על ההבנה. לכן מימשתי את hook_form_alter, ובו העברתי את הטקסונומיות, קומפלט, ממקומן המקורי אל תוך הקבוצה (קבוצה = fieldset) בה חפצתי.
אבל אצלך המצב מסובך יותר: אתה לא רוצה להעביר את הטקסונומיות קומפלט, אלא אתה רוצה להעביר כל בורר, בנפרד, ל-fieldset אחר.
במקום לתת הרצאה איך לעשות זאת, הקלדתי בגוגל drupal taxonomies fieldset והגעתי ל:
http://lists.drupal.org/archives/development/2006-06/msg00542.html
form_render
בדוק את הפונקציה form_render.
היא מאפשרת לך לארגן את הטופס איך שבא לך, עד לרמות הכי פרטניות שניתן.
לדוגמה:
<?php$output .= "<fieldset><legend>a fieldset</legend>";
$output .= form_render($form['taxonomy']);
$output .= "</fieldset>";
$output .= form_render($form);
?>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
בדוק את
אפשרי, אבל, במקרה הנדון, בשיטת ה-themeing שהצעת יש למעשה הרבה יותר עבודה מאשר בשימוש ב-form_alter (וישנה גם בעית תחזוקה: אנחנו קובעים בעצמנו את סדר ה-fieldsets ואם נרצה להוסיף...)
הקישור שנתתי עושה עבודה גרועה בהדגמת העניין, אבל מדובר בהעברה פשוטה של אלמנטים במערך.
מה הקשר?
לא בדיוק הבנתי את הקשר בין הקישור שנתת לבין הבעיה שלי.
הקישור שלך מדבר על מיון לינקים...
(sort taxonony links)
בברכה,
מתי
אחסון | החלפת קישורים | מאמרים | דרושים
MtK - פתרונות אינטרנט חכמים | MtK - Smart Internet Solutions
גן פו הדב | גן מעיין | גן גוזלים
הנדסת תוכנה - בן-גוריון | הכרויות | מומחי איביי - ישראל
Reacher Music Teacher | Study Hebrew
תיירות בישראל | אטרקציות בישראל | צימרים בישראל
הקשר
הקישור מתאר בדיוק מה שאתה רוצה. מדובר שם על טפסים, לא על קישורים. אבל הוא מיועד לבעלי ידע בתיכנות. אני עסוק היום, אבל אשתדל למצוא זמן לחבר דוגמה קונקרטית.
העברת טקסונומיות
הנה הקוד שהבטחתי:
<?phpfunction mymodule_form_alter($form_id, &$form)
{
// Replace 'mp3' with the name of your CCK node-type.
if ($form_id == 'content_mp3_node_form') {
$vocab_placement = array(
// move each 'vid' vocabulary to the 'fieldset' fieldset.
array('vid' => 2, 'fieldset' => 'group-author'),
array('vid' => 1, 'fieldset' => 'group-author'),
array('vid' => 3, 'fieldset' => 'group-publisher'),
);
foreach ($vocab_placement as $vocab) {
$vid = $vocab['vid'];
$fieldset = $vocab['fieldset'];
$form[$fieldset]['taxonomy'][$vid] = $form['taxonomy'][$vid];
$form[$fieldset]['taxonomy']['#tree'] = TRUE;
$form[$fieldset]['taxonomy']['#weight'] = -10;
unset($form['taxonomy'][$vid]);
}
// Remove the original taxonomy fieldset if no more
// vocabularies remain in it:
if (!element_children($form['taxonomy'])) {
unset($form['taxonomy']);
}
}
} // Increase our weight so that we see the taxonomy.module additions.
function mymodule_install() {
db_query("UPDATE {system} SET weight = 5 WHERE name = 'mymodule'");
}
?>
שמור בקובץ mymodule.module והתקן. את "mp3" שנה לשמה האמיתי של "פיסת התוכן" שלך.
בדוגמה הנ"ל אנו מעבירים שלושה סלקטורים (במערך vocab_placement שלושה איברים) של מילונים למקום אחר. שניים מהם אנו מעבירים אל fieldset בשם author, ואחד מהם אל fieldset בשם publisher (המודול fieldgroup מקדים את המחרוזת "-group" לכל fieldset שהוא יוצר). לכל מילון יש vid שעל פיו הוא מזוהה -- ועליך למצוא אותו.
נדמה לי שהדוגמה מחדדת את ההכרה שכדי לבנות אתרים בדרופל צריך לדעת גם לתכנת בדרופל.
שתי שורות המפתח הן אלה:
<?php...
$form[$fieldset]['taxonomy'][$vid] = $form['taxonomy'][$vid];
...
unset($form['taxonomy'][$vid]);
?>
הסבר: אנו מעתיקים את הפקד (פקד = widget) למקומו החדש ואח"כ מוחקים אותו. העתקה + מחיקת הישן = העברה.
הסבר על שינוי המשקל
דרופל טוען את המודולים ואת הפונקציות שבאות איתם עפ"י סדר ה-ABC. לכן, אם נקרא למודול mymodule, הוא ייטען לפני המודול taxonomy ולא יוכל לשנות את הטופס כפי שאנחנו רוצים.
לחילופין, במקום לשנות את המשקל בבסיס הנתונים, ניתן פשוט לתת למודול שם אחר, כמו transfer_taxonomy.module, או משהו כזה...
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
תודה
זה דומה למה שעשיתי ידני, רק שאני לא יצרתי מערך של העברות לכן הרעיון שלך יותר אלגנטי.
שאלה חיונית, משהו שעוד לא בדקתי: היא מה יקרה בזמן SUBMIT?
אני אהיה חייב להזין את הנתונים של ה-vocabularies השונים באופן ידני או שדרופל לבד יודע לעשות את השיוך בחזרה (למרות שינוי המיקום בסידור המקורי)
בברכה,
מתי
אחסון | החלפת קישורים | מאמרים | דרושים
MtK - פתרונות אינטרנט חכמים | MtK - Smart Internet Solutions
גן פו הדב | גן מעיין | גן גוזלים
הנדסת תוכנה - בן-גוריון | הכרויות | מומחי איביי - ישראל
Reacher Music Teacher | Study Hebrew
תיירות בישראל | אטרקציות בישראל | צימרים בישראל
מה זאת אומרת
מה זאת אומרת "לשייך בחזרה"?
השינוי במקום לא משנה את העובדה שאתה עורך node מסויים. לנוד הזה יש ID, והמונחים שאתה בוחר ישוייכו ל-ID הזה בכל מקרה.
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
הכל טוב ויפה
ותודה לכל התורמים והעוזרים.
ה-node מכיל שדות וסיווגים בדיוק במיקום שאני צריך אותם.
עכשיו צריך לבנות את טופס החיפוש ככה שמשתמש יוכל לחפש לפי אותם סיווגים.
מה הדרך הפשוטה לעשות את זה?
(השילוב של חיפוש לפי שדות פחות מעניין אותי)
בברכה,
מתי
אחסון | החלפת קישורים | מאמרים | דרושים
MtK - פתרונות אינטרנט חכמים | MtK - Smart Internet Solutions
גן פו הדב | גן מעיין | גן גוזלים
הנדסת תוכנה - בן-גוריון | הכרויות | מומחי איביי - ישראל
Reacher Music Teacher | Study Hebrew
תיירות בישראל | אטרקציות בישראל | צימרים בישראל
רעיונות
מישהו?
בברכה,
מתי
אחסון | החלפת קישורים | מאמרים | דרושים
MtK - פתרונות אינטרנט חכמים | MtK - Smart Internet Solutions
גן פו הדב | גן מעיין | גן גוזלים
הנדסת תוכנה - בן-גוריון | הכרויות | מומחי איביי - ישראל
Reacher Music Teacher | Study Hebrew
תיירות בישראל | אטרקציות בישראל | צימרים בישראל
מתי, פתח נושא
מתי,
פתח נושא חדש לצורך העניין - למען הסדר הטוב :-) .
(ובדוק אם החיפוש המתקדם המובנה של דרופל לא עונה לך כבר על השאלה)
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
צודק, סליחה
הנה
בברכה,
מתי
אחסון | החלפת קישורים | מאמרים | דרושים
MtK - פתרונות אינטרנט חכמים | MtK - Smart Internet Solutions
גן פו הדב | גן מעיין | גן גוזלים
הנדסת תוכנה - בן-גוריון | הכרויות | מומחי איביי - ישראל
Reacher Music Teacher | Study Hebrew
תיירות בישראל | אטרקציות בישראל | צימרים בישראל