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

הכנה ומשלוח של ניוזלטר בדרופל, בעזרת Simplenews ו-RelatedContent

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

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

מאז עברו הרבה מודולים בנהר, והייתה לי הרגשה שאמצא משהו מתאים. וכך היה. המודול Related Content נכתב בדיוק למטרה זו והוא ממלא את תפקידו מצויין.
לאחר התקנת המודול יש לגשת לעריכת סוג התוכן simplenews, ולהגדיר את ההגדרות הנדרשות. ביחוד יש לבחור שם את החתכים (views) שבהם תרצו להשתמש. כל וויו מאפשר להציג אגד של תכנים בתוך הניוזלטר, תחת כותרת משנה אחת.
כעת גשו ליצירת תוכן וצרו ניוזלטר חדש. לאחר יצירת הניזולטר (אל תשלחו אותו עדיין!) ליחצו על הטאב related content. רשימת קישורים חדשה (secondary tabs) תאפשר לכם לעבור בין ה-views השונים. תחת כל view תראו את רשימת התוצאות ל-view זה, ולידו תיבת סימון. סמנו את התוכן על מנת להוסיפו לניוזלטר.

זהו. פשוט, לא?

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

  1. אם התכנים מופיעים כטיזרים (תקצירים), אז מתווספים אליהם קישורים שלא תרצו בהכרח שיופיעו בניוזלטר.
  2. במרבית המקרים הקישורים יהיו יחסיים, ולכן לא יתאימו להצגה מחוץ לאתר
  3. ניוזלטרים צריכים להכיל סגנונות inline, דבר שבאתר אנחנו ננסה להימנע ממנו בכל מחיר.

על כל אלה... נצטרך לשנות את האופן שבו מוצגים התכנים. איך? Theming!

ראשית, עלינו לשנות את הפלט רק כאשר התכנים מוצגים כחלק מהניוזלטר. כאשר הם מוצגים כטיזרים בעמוד הראשי, או בכל רשימה אחרת באתר עצמו, אנחנו מעוניינים שישמר המבנה הרגיל של התקציר, עם הקישורים והכל. בכדי שדרופל תדע להבחין בהבדל עלינו לבצע שינוי קטן (תוספת של שורה בודדת) במודול Related Content. השינוי מתואר כאן: http://drupal.org/node/217130 והוא יכנס לגרסה הבאה של המודול, כך שבעתיד לא נזדקק לו.

לאחר השינוי יש להוסיף את הפונקציה הבאה לקובץ template.php:

<?php
function _phptemplate_variables($hook, $vars) {
  switch (
$hook) {
    case
"node":
      if (
$vars['node']->relatedcontent) {
       
$vars['template_file'] = "newsletter-teaser";
      }
      break;
  }
  return
$vars;
}

?>

ובמקביל ליצור את קובץ ה-TPL המתאים: newsletter-teaser.tpl.php
קובץ זה יכיל את מבנה התוכן, כאשר הוא מוצג בתוך ניוזלטר בלבד. לשם הנוחות, נעתיק את הקובץ node.tpl.php, ונשנה אותו בהתאם.
להזכיר, אחת המטרות העיקריות שלנו היא הפיכת הנתיבים לאבסולוטיים, והסרת הקישורים הנלווים. למטרה השניה, די לנו בהסרת הדפסת המשתנה $links מתוך ה-TPL. למטרה הראשונה, ניתן לשנות את הכותרת כך:

<h2><a href="<?php print url('node/' . $node->nid, NULL, NULL, TRUE) ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>

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

בהמשך, נוכל לטפל באותו אופן בצורך שלנו להכניס את הסגנונות inline:

<h2><a style="color:#185DA0; font-size:14px; margin-bottom:5px; font-family:Arial,Sans-Serif; letter-spacing:-1px; text-decoration: none;" href="<?php print url('node/' . $node->nid, NULL, NULL, TRUE) ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>

זהו. הפעם באמת כל מה שנותר הוא לשלוח... ולקוות לטוב :-)
תמיד כדאי לשלוח מייל נסיון לבדיקה, וחשוב לזכור שהמייל עשוי להיראות שונה בתוכנות דואר שונות - אאוטלוק, ת'אנדרבירד, ג'ימייל, יאהו... כל אחד מפרש את המייל שלכם אחרת... אבל זה כבר סיפור אחר.

מילות מפתח:

יפה מאוד. האם

יפה מאוד.

האם אתה מכיר דרך אחרת לשנות את העיצוב שיהיה inline? אולי אפשר להשתמש ביכולות של simplenews כאן?

העיצוב נקבע ע"י

העיצוב נקבע ע"י פונקציות וקבצי עיצוב (theming functions and tpl files). אתה מכיר בכלל דרך בדרופל, או בכל תוכנה אחרת להקצות לאלמנטים של HTML סגנונות Inline לפי חוקים בקובץ CSS חיצוני?

המודול mimemail

המודול mimemail כולל את כל ה CSS פנימית (internal) - זה אמנם לא inline, אבל אני חושב שזה יעבוד באותה צורה.

פרסום תגובה חדשה

ערך מאפיין זה ישאר פרטי ולא יוצג באופן ציבורי.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <b> <a> <p> <br> <em> <strong> <cite> <table> <tr> <td> <th> <tbody> <ul> <ol> <li> <dl> <dt> <dd><img> <div><h1> <h2> <h3> <h4>
  • מעבר שורות ופסקאות מתבצע אוטומטית.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

מידע נוסף על אפשרויות מבנה קלט

חדשות לינווייט

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

שלב תוכן
הרשמה לקורס דרופל

דרופל

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

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

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

מילות מפתח:
Drupal association member logo
Acquia Silver Partner logo

מתיק העבודות

תיירות בואדי ערה

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

לחץ על התמונות להגדלתן