[Skip Header and Navigation] [Jump to Main Content]
בית
דרופל ישראל
הבית של קהילת מפתחי ומשתמשי דרופל בישראל

Primary Links

  • בית
  • דרופל בעברית
  • חדש באתר
  • מדריכים
  • תמיכה
  • לוח דרושים
  • נותני שירות בדרופל
  • אתרי דרופל ישראליים
  • שאלות נפוצות
  • ארועים והדרכות
בית » יומן » הבלוג של yakoub

cck view

yakoub, ד', 13/04/2011 - 12:35

לכל מי שעדיין משתמש ב cck עם שדה node reference
אז אם ב tpl רוצים להציג שדות מ ה reference מומלץ להשתמש בשיטה זאת :

<?php
  $node_ref
= node_load($node->field_node_ref[0]['nid']);
 
content_view($node_ref, FALSE, TRUE);
 
drupal_render($node_ref->content);
 
content_alter($node_ref, FALSE, TRUE);
?>

כך עבור שדה abc אפשר להציג :
<?php
print $node_ref->field_abc[0]['view']
?>

במקום להתחיל לבנות אותו ידנית , כי אחרת זה עלול להוביל לפרצות xss

מעניין איך עושים את זה עם drupal 7 field api ?

עריכה : מספיק node_view
http://www.drupal.org.il/node/5985#comment-17469

  • הבלוג של yakoub
  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.

נתקלתי גם בזה לא

נכתב ע"י asak ביום ו', 15/04/2011 - 16:10.

נתקלתי גם בזה לא מזמן:
http://drupal.org/project/nodereference_variables
נראה שצריך לתת לו עוד קצת אהבה - אבל הייתי אומר שזו הדרך הנכונה להביא את המידע הדרוש.

CPO.co.il - פתרונות דרופל.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של yakoub

node_view

נכתב ע"י yakoub ביום ו', 15/04/2011 - 18:40.

השיטה שלהם לא טובה כי הם עושים node_view על כל ה node וככה ה מעצב מקבל מחרוזת html שרק יכול להדפיס
בשיטה שלי מקבלים אובייקט node שכל שדה בנפרד עבר render ולכן המעצב יכול להדפיס כל שדה בנפרד

אז לגמרי לא ברור למה אתה חושב שזאת הדרך ה "נכונה" , תסביר את עצמך ..

yakoub abaya

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.

תראה: * Implementation of

נכתב ע"י asak ביום ו', 15/04/2011 - 19:08.

תראה:

* Implementation of hook_preprocess_node().

Adds the fully loaded node object for each referenced Node
* Reference node attached to the parent node, E.g. if you
* have a Node Reference field called field_foo and it has
* three values, the loaded nodes will be accessible using:

print_r($field_foo[0]['node']);
* print_r($field_foo[1]['node']);
* print_r($field_foo[2]['node']);

להבנתי, שימוש בפונקציה של node_load בתוך קובץ .tpl זה לא בדיוק הדבר האופטימלי. אני חושב שעדיף להעביר את האובייקט עוד ב Hook_preprocess, ולא ב- Theming Layer.

ולהבנתי - אתה יכול בתוך כל אובייקט כזה להדפיס כל שדה בכל צורה - כולל בגרסה המרונדרת שלו (למרות שלא בדקתי בתכלס..) - ואם לא, אז אפשר להוסיף ולהשתמש בפונקציות שציינת בכדי לרנדר את התצוגה. אבל את האובייקט - להביא מה- hook.

לא? :)

CPO.co.il - פתרונות דרופל.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של yakoub

רפרנס

נכתב ע"י yakoub ביום ו', 15/04/2011 - 19:20.

הפונקציה node_load לבד לא מתאימה , כי היא לא מוסיפה ['view'] לכל שדה
ואז המעצב צריך לבנות את מחרוזת ההצגה בעצמו בשימוש ב ['value']
וזה לא טוב כי לא ברור אם ה value עבר check_plain

אבל אני שכחתי שאובייקטים עוברים ב php ברפרנס גם אם לא מכריזים על זה בפונקציה המקבלת
לכן קריאה ל node_view עם אובייקט node ידאג לאתחל את ה ['view'] לכל השדות ואין צורך לקרוא לפונקציות למעלה כל אחת בנפרד כמו שעשיתי

yakoub abaya

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של אמיר סימן טוב

יותר טוב היבט עם ארגומנט

נכתב ע"י אמיר סימן טוב ביום ה', 21/04/2011 - 23:07.

ערך הארגומנט הוא כמובן ה-nid של הפריט המצביע.

את ההיבט אפשר להטמיע במספר דרכים - בקוד או בתוך פאנל.

אמיר

| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.

למה זה יותר טוב? :)

נכתב ע"י asak ביום ה', 21/04/2011 - 23:45.

למה זה יותר טוב? :)

CPO.co.il - פתרונות דרופל.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של אמיר סימן טוב

הפשטה. למה דרופל יותר טוב מקוד ייעודי?

נכתב ע"י אמיר סימן טוב ביום ו', 22/04/2011 - 00:29.

הפשטה.

| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.

נראה לי שאתם מתייחסים ל"יותר

נכתב ע"י asak ביום ו', 22/04/2011 - 12:49.

נראה לי שאתם מתייחסים ל"יותר טוב" כפונקציה של פשטות עבודה ואבטחה - אני מתייחס ל"יותר טוב" כ"נכון מבחינת ביצועים".

זה שצריך לוודא שטקסט שמודפס או מרונדר עובר את הסינונים המתאימים - זה אמור להיות ברור. השאלה (לדעתי) היא מה יותר נכון מבחינת ביצועי האתר.

לא? :)

CPO.co.il - פתרונות דרופל.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של אמיר סימן טוב

כולם צודקים כאן...

נכתב ע"י אמיר סימן טוב ביום ו', 22/04/2011 - 18:14.

חשובים הביצועים, ברור, אך באין נתונים מבחינת הדרישות, אז מבחינתי יש לבחור בדרך של רכיב קיים. זה שזה יותר מאובטח ויותר מהיר, אלו רק תופעות נגזרות מבורכות; מה שחשוב יותר זה השימוש החוזר בקוד חסון ושיפורו, אופציונלית.

| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של yakoub

נכון

נכתב ע"י yakoub ביום ש', 23/04/2011 - 10:19.

היבט יותר טוב , למי שיודע להשתמש בהיבטים בדרך שתיארתה
נראה לי שהארגומנט צריך להיות ה nid של הפריט המוצבע ולא המצביע

הכי חשוב להימנע מלעבוד ישירות עם ערכי ה value של node_load
נראה לי שיש הרבה אתרים שעושים node_load ל node reference ועובדים עם ה value ישירות וזה משהו די גרוע לדעתי

yakoub abaya

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של אמיר סימן טוב

תיקון נכון - הפריט המוצבע!

נכתב ע"י אמיר סימן טוב ביום ב', 16/05/2011 - 15:51.

או במילים אחרות: זה שמהווה את ההקשר להצגת פריטים מקושרים.

אמיר

| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של pelach

דרך ההיבט אתה יכול לגשת לשדות

נכתב ע"י pelach ביום ה', 19/05/2011 - 08:01.

של הnode המוצבע?
אני לא בטוח.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של yakoub

גם אני חושב שלא אפשרי

נכתב ע"י yakoub ביום ה', 19/05/2011 - 09:24.

זה לא אפשרי בגלל זה כתבתי שהארגומנט זה ה "מוצבע" ולא ה "מצביע"

<?php
function template_preprocess_node(&$vars) {
  
$node = $vars['node'];
  
$node_reference_view = views_embed_view('myviewname',$node->field_node_ref[0]['nid']);
 
$vars['node_ref'] = $node_reference_view;
}
?>

yakoub abaya

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של גגה

relationships

נכתב ע"י גגה ביום ג', 12/07/2011 - 18:03.

שלום רב,
אני מנסה להבין את cck ו node reference בדרופל 7 .
yakoub מה הכוונה "למי שעדיין משתמש ב"
האם זה לא דבר בסיסי ליצירת relationships ?
נכון שרוב "המבנים" שך CCK נוספו לליבה של דרופל 7 , אך node reference לא!
האם זה לא נחוץ?!?
לתשובתכם אודה
גגה.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של yakoub

cck

נכתב ע"י yakoub ביום ג', 12/07/2011 - 19:29.

לא התכוונתי להרחיב בעניין, רק רציתי לומר שהדיון מתיחס לדרופל 6 ולא 7
ובסוף הבעתי תמיהה "איך עושים בדרופל 7 ? " הכוונה היא איך מוצאים הגרסה ה"נקיה" של השדות שכבר עברו check_plain , check_markup

בשביל רפרנס ב 7 יש את אלה :
http://drupal.org/project/references

http://drupal.org/project/Relation
http://drupalcode.org/project/relation.git/blob/refs/heads/7.x-1.x:/CONC...

אנסה לבדוק הנושא בדרופל 7 ולכתוב פוסט חדש

yakoub abaya

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של amitai

בהנחה שאתה לא משתמש בפאנלס,

נכתב ע"י amitai ביום ג', 12/07/2011 - 20:14.

בהנחה שאתה לא משתמש בפאנלס, או מיני פאנלס -- או במילים אחרות, למה לא להשתמש בפאנלס או מיני :)

יש את פקודת field_view_field()

אמתי -- חברת גיזרה

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של yakoub

alter

נכתב ע"י yakoub ביום ג', 12/07/2011 - 20:49.

אני לא אוהב דברים כמו פאנלס, כי אני רוצה שהכל יהיה כתוב בקוד שהקריאה שלו מהנה ונעימה לעבודה , מה שפיתשרס נותן הוא לא קריא

היופי והחידוש ב 7 זה render arrays
אז בהנתן שהדיון למעלה מדבר על node.tpl.php הייתי הולך על hook_node_view_alter
כי ה content ב node.tpl.php הוא מערך ועדייין לא עבר render

באופן כללי עבור אוביקט node כלשהוא אז כמו שכתבתי למעלה עבור 6 אז גם ב 7 קריאה ל node_view תדאג לעדכן האוביקט עם content עבור כל השדות
בשביל ישות כלשהיא אפשר field_view_field כמו שאמרתה,ואם רוצים כל השדות בבת אחת אז field_attach_view אבל יש גם ה prepare , אפשר לראות דוגמה להכל כאן node.module/function/node_build_content/7" rel="nofollow"> node_build_content

yakoub abaya

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של yakoub

field_view_field

נכתב ע"י yakoub ביום ה', 08/09/2011 - 08:25.

this post elaborates on the subject:
http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way

quite a profound answer on how to render fields in 7

yakoub abaya

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של witchcraft

Subscribe

נכתב ע"י witchcraft ביום ד', 13/07/2011 - 13:39.

נושא מעניין

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.

איפה מתחילים ולאן ממשיכים?

מקום טוב להתחיל בו הוא הורדה של הגרסה העדכנית של דרופל בעברית.

להורדת דרופל בעבריתלשפות וגרסאות אחרות, Drupal.org

יש לנו באתר מדריכים שונים, הכוללים מדריך להתקנת דרופל על המחשב המקומי או על שרת אירוח באינטרנט, כמו גם מדריכים לעיצוב ופיתוח.

בעזרת המדריכים השונים באתר ובעזרת קבוצות הדיון שלנו, אפשר למצוא את כל המידע הנחוץ להקמה והתאמה אישית של אתרי דרופל. כדאי לבדוק גם את ערוצי התמיכה הנוספים שלנו

שלום אורח

כניסה|הצטרפות

כעת מחוברים 4 משתמשים מזוהים, ו-4 אורחים:
נס טכנולוגיות, ami7878, zohar, גגה

alechko הוא החבר הכי חדש בקהילה!

דרופל ישראל בפייסבוק דרופל ישראל בטוויטר דרופל ישראל ב-LinkedIn

חדש בדיונים בפורום

  • taxonomy vs entity reference |‏ alechko
  • LAPP במקום LAMP |‏ hodspot
  • האם דרופל יכול לבנות אתר כמו י... |‏ hodspot
  • Web programmer |‏ meiravshir
  • server/Client Web Developer |‏ meiravshir
עוד בפורום

חדש בבלוגים

  • ecommerce module |‏ avrilev
  • הסרת שיער בלייזר |‏ Alex Borodach
  • ערכת עיצוב חדשה FontFolio... |‏ ישראל
  • Mobile Drupal - סיכום הדרכה |‏ לבבי
  • תרגום אוטומטי של ממשק האתר באת... |‏ לבבי
עוד בבלוגים

אירועים והדרכות קרובות

אין פעילויות להצגה. יאללה, מי מארגן משהו?

ללוח האירועים המלא

חדש באתרים ישראלים

  • טבעוני תוספי תזונה |‏ morantivo
  • עוגת הגבינה של ישראל - ישראל ה... |‏ zohar
  • דורמטיק - דלתות אוטומטיות |‏ ענת כהנא
  • הכוורת - אתר מבוסס קומונס |‏ אמנון דפני
  • אוצר היום - ישראל היום |‏ zohar
עוד אתרים ישראלים
Powered by Drupal, an open source content management system
אירוח ופיתוח האתר באדיבות לינווייט - דרופל , אנדרואיד וקוד פתוח
עיצוב, קסמי css וערכת העיצוב טנדו - תום ביגלאייזן
שותף לדרך - אמנון לבב - ייעוץ משולב
דרופל ישראל הינה חלק מרשת הקנטינה
"כללי המשחק" ותנאי השימוש באתר
[Jump to Top] [Jump to Main Content]