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

הכנה ומשלוח של ניוזלטר בדרופל, בעזרת 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, אבל אני חושב שזה יעבוד באותה צורה.

בשבוע שעבר

בשבוע שעבר מצאתי סוף סוף את הזמן להשקיע בניוזלטר של לינווייט.
המבנה שאליו שאפתי: הקדמה ייחודית לגליון הנוכחי, ולאחריה קבוצות של תכנים מרחבי האתר, מאוגדים עפ"י נושא או מטרה. רציתי גם שיהיה לי קל לבחור את התכנים השונים מהאתר, באופן אינטואיטיבי ומהיר.
המודול שמשמש אותנו לאיסוף כתובות המייל, להרשמה ולהסרה מרשימת התפוצה, וכמובן למשלוח, הוא
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow powerleveling
wow powerleveling
wow powerleveling
wow powerleveling
wow powerleveling
world of warcraft power leveling
world of warcraft power leveling
world of warcraft power leveling
world of warcraft power leveling
world of warcraft power leveling
world of warcraft powerleveling
world of warcraft powerleveling
world of warcraft powerleveling
world of warcraft powerleveling
world of warcraft powerleveling
wow gold
wow gold
wow gold
wow gold
wow gold
world of warcraft gold
world of warcraft gold
world of warcraft gold
world of warcraft gold
world of warcraft gold
AOC Power Leveling
AGE OF CONAN Power Leveling
Warhammer Online Power Leveling
Warhammer Power Leveling
Warhammer Online Gold
Warhammer Gold
2 Moons Dil
MapleStory Mesos
Maple Story Mesos
MS Mesos
WARHAMMER ONLINE GOLD
Cheap WARHAMMER ONLINE GOLD
RuneScape Gold
RS Gold
RuneScape Money
RS Money
SilkRoad Gold
SilkRoad Online Gold
SRO Gold
EVE ISK
EVE Online ISK
Gaia Gold
2 Moons Dil

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

ערך מאפיין זה ישאר פרטי ולא יוצג באופן ציבורי.
  • 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

מתיק העבודות

בית קסוס

אתר משפחת קסוס, אתר משפחתי המציג בלוגים שירים וחוויות משפחתיות.

מילות מפתח: