לפעמים user_load עובד ולפעמים לא...
נפתר
מה שקרה זה שיוזרים מסוימים השתמשו בגראווטר (נתתי את זה בעיקרון כדי להציג תמונת פרופיל של מי שאינו רושם באתר ושכחתי מזה). אם יש גראווטר המשויך לאימייל של החשבון הוא דורס את התמונה שהועלתה אך זה לא מגיע בתוך היוזר.
הבעיה שהייתה
בסוג תוכן מסוים אני רוצה להציג את תמונת מחבר פריט התוכן. אני מתבנת את זה ולא משתמש באפשרות המוצגת בממשק כי אני רוצה להציג את התמונה רק בסוג מסוים זה. היות והאובייקט של המחבר אינו קיים, אלא רק המפתח שלו, אני טוען אותו. לפעמים - באותו פריט תוכן - התמונה מוצגת ולעתים לא (הכתובת של התמונה זה עמוד הבית) ומכאן שהאובייקט לא עלה. אין שום עקביות. להלן הקוד:
<div class="forum-author">
<?php $author = user_load($uid); ?>
<div class="forum-author-pic">
<?php print '<img src="/' . $author->picture . '"/>'; ?>
</div>
</div>
אתה עושה שימוש במשתנה גלובלי.
אתה עושה שימוש במשתנה גלובלי. לא צריך קודם להכריז עליו ככזה?
global $user;
אגב, לא הגיע הזמן להחליף את תיבת הטקסט למשהו קצת יותר ידידותי למשתמש?
לא, זה המשתמש הנוכחי, לא
לא, זה המשתמש הנוכחי, לא המחבר.
בכלל, אני מציע לך להשתחצן פחות (אני מתייחס גם לפוסטים אחרים).
| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט
אתה משתמש במשתנה UID שקיבלת
אתה משתמש במשתנה UID שקיבלת ממקום מוקדם יותר בקוד.
כך שלמי שקורא את הקטע שהבאת אין את התמונה המלאה.
אלא אם כן הוא יודע שיש את
אלא אם כן הוא יודע שיש את המפתח בקובץ node.tpl וזה ידע כללי או שניתן לבדוק. בכל מקרה, הכוונה היא לשאול את מי שיודע, ולא את מי שנחת אתמול, שואל שאלות, מזלזל באלו שעונים לו ועונה תשובות שגויות ללא שום צניעות.
| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט
את המשפט השני לא הבנתי אבל לא
את המשפט השני לא הבנתי אבל לא נראה לי שיש לי זמן כרגע לסוג כזה של דיונים.
לגבי המשפט הראשון, טוב לדעת - תודה, רשמתי לי לבדוק מתישהו מה זה.
קטונתי אבל יתכן והמשתנה $uid
קטונתי אבל יתכן והמשתנה $uid לא עקבי ולכן האם ניסית לשנות ל: $node->uid כלומר:
<div class="forum-author"><?php $author = user_load($node->uid); ?>
<div class="forum-author-pic">
<?php print '<img src="/' . $author->picture . '"/>'; ?>
</div>
</div>
ל-Ebenezer Junkins, המשתנה $user הוא הגולש שמחובר כרגע למערכת ולא זה שפרסם את ה-NODE
בניית אתרים בדרופל | יצירת קשר
מממ... לא ניסיתי, אבל בתכנות
מממ... לא ניסיתי, אבל בתכנות לא אמורים לתת לך מפתח של אובייקט םא הוא לא עקבי, ואם נותנים, אז צריך להסתמך עליו.
תודה והרעיון נחמד, ברשותך אני ממתין לתגובות נוספות :)
| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט
אני חושב שסביר שאתה
אני חושב שסביר שאתה צודק
למרות ש ה דוקמנתציה אומרת שקים משתנה $uid אבל לא ראיתי בשום מקום אפה הוא מקבל בערך שלו , הנה כל השלבים :
yakoub abaya
לא טעיתי , זה קורה בשורה הזאת
לא טעיתי , זה קורה בשורה הזאת :
<?php$variables = array_merge((array) $node, $variables);
?>
yakoub abaya
התמונה לא עולה , לא אומר
התמונה לא עולה , לא אומר שטעינת המשתמש נכשלה ... אולי אין לא תמונה ?
אם השתמשתה ב content_profile ? והתמונה היא שדה cck , אז אתה צריך
להעלות את ה node :
<?php$names=array_keys( content_profile_get_types('names') );
$user=content_profile_load($names[0],$node->uid);
?>
אם זה לא cck אז יש את השורה הזאת :
<?php
$variables['picture'] = theme_get_setting('toggle_node_user_picture') ? theme('user_picture', $node) : '';
?>
http://api.drupal.org/api/drupal/includes--theme.inc/function/template_p...
אז למה לחזור על זה ב tpl
yakoub abaya
תודה יעקב, אבל זה לא עוזר, זה
תודה יעקב, אבל זה לא עוזר, זה הרי לא לא יביא את התמונה היא לא מוגדרת ככזו שיש לעלות עבור סוג התוכן. בכל מקרה בדקתי וזה מחזיר כמובן שום דבר.
יש תמונה, הכוונה "לפעמים נטען ולפעמים לא נטען" היא לגבי אותו יוזר וזה קורה לכל מיני יוזרים.
| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט
האם זה קורה לאותו node ? כי
האם זה קורה לאותו node ? כי אם זה nodes שונים אז יכול להיות שאחד מהם אין לו uid בכלל
זה יכול לקרות אם מפעילים node_save בצורה לא נכונה
בנוסף הרי דף הצגת node מציג נתונים אחרים על המחבר האם אותם נתונים לא מופיעים גם כשהתמונה לא מופיעה , או שקורה ששם מחבר מופיע אבל רק תמונתו לא מופיעה ? כלומר רק ה user_load שאתה מריץ נכשל
אפשרות אחרת היא שקיים קוד שרץ לפני הקוד שלך והוא משפיע על ערך node->uid לפני שאתה מקבל אותו
yakoub abaya
פעם ראשונה שעזרת לי :) תודה!
פעם ראשונה שעזרת לי :) תודה! ראה בגוף הדיון את הסיבה לבעיה.
| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט
לא הבנתי , אתה מתכוון לזה
לא הבנתי , אתה מתכוון לזה :
yakoub abaya
לא... התכוונתי לזה ששאלת אותי
לא... התכוונתי לזה ששאלת אותי אם זה קורה באותו פריט תוכן. התשובה חיובית, אבל אז בדקתי עוד פריטי תוכן והמשותף להם היה שנוצרו על ידי אותו סטודנט :)
ואז ראיתי שבעצם הוא לא העלה תמונה אלא השתמש ב-gravatar.
אמיר
| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט