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

Primary Links

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

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

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

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

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

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

שלום אורח

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

כעת מחוברים 1 משתמשים מזוהים, ו-4 אורחים:
ענת כהנא

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

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

  • Redirect מתיקיה לPage |‏ oryagel
  • שאלה של מתחילים בנושא... |‏ haggit
  • עבודה בלינווייט: דרוש איש... |‏ ליאור
  • דרובונטו |‏ TSI
  • מדריך - איך לפתור את בעיות... |‏ webolympus
עוד בפורום

חדש בבלוגים

  • test |‏ yakoub
  • טנדו מתחילה להתיישן, ולי אין... |‏ Tombigel
  • הקנטינה יוצאת לדרך (יום... |‏ ליאור
  • הגיגי קידום בגוגל -עדכון... |‏ שי
  • האקספלורר מת |‏ Eldad Garfunkel
עוד בבלוגים

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

  • סקיורנט Securenet |‏ ענת כהנא
  • קולינריס - המרכז המקצועי... |‏ harelben
  • R2L - מעצבים את דרופל מימין... |‏ TSI
  • דיאטה חכמה |‏ SmartDiet
  • Sunflower - צמחי מרפא סיניים |‏ שי
עוד אתרים ישראלים
בית » יומן » הבלוג של zohar

עבודה עם CSS ועברות של ערכות העיצוב לגרסה 5 של דרופל

zohar, ה', 11/01/2007 - 22:48

פוסט זה הוא גרסה מעודכנת של פוסט אחר.
דרופל 5 מציגה את מנגנון ההפצות. החל מגרסה זו ניתן להגדיר מראש תצורות שונות של התקנה (profiles), שכוללות רכיבים (מודולים) שנבחרו במיוחד לכל תצורה, על מנת להגשים ייעוד מסויים שלשמו מותקנת המערכת.
על מנת להפוך את המערכת ליעילה יותר ומהירה יותר, קובץ הסגנונות הראשי (misc/drupal.css) פורק, וכעת כל מודול, גם אלו השייכים ל-core, מכיל, במידת הצורך, קובץ CSS שנטען רק אם המודול המדובר נבחר ברשימת המודולים. כך כמות הקבצים הנטענים קטנה, ומתוך כך גם זמן הטעינה.
נוסף על כך, בדרופל 5 נעשה שימוש בגישה מדליקה להקטנת זמן הטעינה - עיבוד מקדים לקבצי CSS, או Preprocessing, עליו אסביר בנפרד.

העובדה שהקבצים פוזרו בין כל המודולים, הופכת את מלאכת העברות למעט מסורבלת יותר, בשל העובדה שצריך לערוך קבצים מרובים ולא קובץ אחד. לשמחתנו - בכל גרסה של דרופל נצטרך לעשות את זה רק פעם אחת :) !
העברות עצמו כוסה כאן כבר בהרחבה, עד כמה שניתן להרחיב (הופכים ימין לשמאל ולהיפך בהגדרות ה-CSS, ומשתדלים לא לעשות את זה איפה שלא צריך...).
בגרסת RC2 של דרופל 5 (הגרסה העדכנית בעת כתיבת שורות אלו) ישנם 12 מודולים שהסגנונות שלהם דורשים התייחסות. בכל תיקיה של אחד המודולים האלה יש קובץ CSS שאת שמו נשנה באופן הבא: modulename.css הופך ל- modulename-rtl.css. כעת נוספו לנו הקבצים הבאים (מצורפים):
admin-rtl.css, aggregator-rtl.css, block-rtl.css, book-rtl.css, comment-rtl.css, defaults-rtl.css, forum-rtl.css, help-rtl.css, node-rtl.css, search-rtl.css, system-rtl.css, user-rtl.css
על מנת להיצמד למגמת הייעול שבבסיס ביזור הקבצים, עלינו לטעון רק את הקבצים החדשים, במקום אלו הקיימים. בדרופל 5 נעשית טעינת קבצי CSS ע"י קריאה לפונקציה drupal_add_css. פונקציה זו מגדירה כל קובץ CSS כשייך למדיה מסוימת (all, screen, paged וכו') וכמו כן, לאחת משתי קטגוריות: module, theme. החלוקה נעשית על מנת להבטיח שהסגנונות יטענו בסדר הגיוני, ושהדירוג שלהם יהיה ברור יותר. כל קריאה לפונקציה מוסיפה אלמנט למערך חדש, הזמין דרך מנועי העיצוב - css$.
הכנסת הסגנונות למערך היא חלק מהגישה המקובלת היום בדרופל, שבה הכל מוכנס לתוך מערכים, מה שמאפשר לשנות אלמנטים שעד כה היה צורך בתעלולים מני תעלולים שונים על מנת לשנותם. לדוגמה:
drupal_add_css(drupal_get_path('module', 'menu') .'/menu.css');
בכדי לקרוא לקבצים החדשים, המעוברתים, במקוםאלו הקיימים, עלינו לשנות את האלמנטים המתאימים במערך שנוצר. את התוספות הבאות יש להכניס בקובץ page.tpl.php, במקום הקריאה לסגנונות (styles$), ולא בקובץ phptemplate, כפי שעשינו עד כה:

<?php
/* Load RTL styles instead of default ones: */
foreach($css as $media => $types){
  foreach(
$types as $type => $files){
    foreach(
$files as $file => $preprocess){
     
$element = $file;
     
$rtl_style = str_replace(".css","-rtl.css",$file);
      if(
file_exists($rtl_style)){
        unset(
$css[$media][$type][$file]);
       
$css[$media][$type][$rtl_style] = $preprocess;
      }
    }
  }
}

?>

פעולה זו רק משנה את המערך הדפולטיבי של הסגנונות. בכדי לגרום למערך המתוקן להיטען במקום המערך הדפולטיבי, נבצע את השינוי הבא:
<?php
//print $styles // commented out in favour of drupal_get_css($css) to include the rtl styles
print drupal_get_css($css) ;
?>

זהו. מצורף קובץ ובו הקבצים המעוברתים. תצטרכו לעבוד קצת ולהתאים כל קובץ לתיקיתו הוא, אבל זה שטויות.

קובץ מצורףגודל
D5RC2-rtl-css.zip6.31 קילובייט
  • הבלוג של zohar
  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
תגים:
  • עברית
  • פיתוח עיצובים
  • פרקטיקה
  • דרופל 5
  • מדריכים
התמונה של לבבי

תודה לזוהר

נכתב ע"י לבבי ביום ה', 18/01/2007 - 22:20.

תודה לזוהר על קבצי ה-CSS של ה-Core. פנטסטי!

הם שירתו אותי יפה בהסבת ה-CSS של Garland RTL לגירסה 5.
גירסה מעודכנת של קובץ ה-ZIP, שכוללת גם עברות של מודול ה-color, ניתן למצוא כאן: http://www.drupal.org.il/node/388

אמנון לבב - לבבי ייעוץ משולב - סוף מעשה באפיון תחילה!
אפיון אתרי דרופל, ניהול, פיקוח וקידום - אימון אישי, ייעוץ והדרכה.

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

עדכון נוסף

נכתב ע"י zohar ביום ג', 23/01/2007 - 16:58.

בעברות של לבבי ל-graland, הוא שם את קבצי ה-CSS בתוך sites/all . אני מאמץ את הגישה ומשכלל אותה עוד קצת.
את הקבצים שמתי בתוך תיקיה חדשה שיצרתי:
sites/all/css
ואת הקוד שב-page.tpl.php שיניתי ל:

<?php
/* Load RTL styles instead of default ones: */
foreach($css as $media => $types){
    foreach(
$types as $type => $files){
     foreach(
$files as $file => $preprocess){
           
$element = $file;
         
$rtl_style = str_replace(".css","-rtl.css",basename($file));
           if(
file_exists('sites/all/css/'.$rtl_style)){
                unset(
$css[$media][$type][$file]);
            
$css[$media][$type]['sites/all/css/'.$rtl_style] = $preprocess;
          }
      }
  }
}
//print $styles // commented out in favour of drupal_get_css($css) to include the rtl styles
print drupal_get_css($css) ;
?>

עכשיו הרבה יותר קל לפתוח את הקבצים ולנהל אותם.

<

p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות

<

p>

זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות

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

re: מיקום קבצי css ימניים

נכתב ע"י לבבי ביום ד', 24/01/2007 - 07:51.

שלום זוהר, אני מתנגד לשיפור שהצעת.

  1. המיקום בתיקיה נפרדת לכל מודול מבטיח ניהול גירסאות אופטימלי. בגישה אובייקטלית, לכל מודול יש את הקבצים שלו. יש מודולים כמו system שיש להם יותר מקובץ CSS אחד, וכדאי שהם ישבו בתיקיה נפרדת לכל מודול כדי שנוכל לזהות מאיזה מודול הם הגיעו. בכלל, בקרוב יהיו שם גם קבצי css של מודולים contrib ואז החגיגה תהיה שלמה.
  2. אין טעם ואין צורך כרגע לדעתי להמציא subdirectory חדש של sites/all במיוחד בשביל העברית, אפשר להשתמש במה שקיים. בגישה אובייקטלית זה יותר נכון - ככה המפתח יוכל לראות את הקבצים של המודול יחד עם המודול.

אמנון לבב - לבבי ייעוץ משולב - סוף מעשה באפיון תחילה!
אפיון אתרי דרופל, ניהול, פיקוח וקידום - אימון אישי, ייעוץ והדרכה.

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

re: מיקום קבצי css ימניים

נכתב ע"י zohar ביום ד', 24/01/2007 - 09:12.

נכון שמיקום של כל קובץ בתוך תיקיה הנושאת את שם המודול המקורי עשוי לשמור על סדר. אבל אז בכל זאת נשאלת השאלה: באיזו תיקיה נציב את הקבצים?

יש לנו שתי אפשרויות בברירת המחדל:

sites/all/modules - תיקיה זו מיועדת למודולים שלמים. דרופל תחפש כאן מודולים, ואם היא תמצא אותם כאן, היא לא תחפש אותם במקום אחר. אין הגיון לשים כאן תיקיות שמכילות רק את קבצי ה-CSS.

sites/all/themes - בדומה לתיקיה modules, תיקיה זו מכילה ערכות עיצוב. קובץ CSS כשלעצמו איננו עיצוב, אלא אם הוא שוכן בתת תיקיה של עיצוב אחר. כלומר, אם נוסיף לתיקיה זו תתי-תיקיות עם שמות המודולים, לא תרמנו לסדר, אלא להיפך.

אם כן - ברירות המחדל לא טובות לנו, ולזרוק את הקבצים סתם בתיקיה sites/all גם לא. על כן הוספתי את התיקיה sites/css, שיכולה היתה לשבת בכל מקום אחר (היא לא חלק מההגיון הפנימי של דרופל). המיקום רק מאפשר לי לפנות לכל הקבצים בצורה מסודרת.

אני לא מבין את הנקודה השניה שלך:
ככה המפתח יוכל לראות את הקבצים של המודול יחד עם המודול
אנחנו הרי לא מעבירים את המודול כולו לתיקיה sites/all, אז איך יכול המפתח לראות את הקובץ יחד עם המודול שלו? האם התכוונת לשם המודול?
אני חושש שייצור תיקיות המוני רק יכביד ויסבך. בואו לא נשכח שחיפשנו פתרון שייקל עלינו. יצירת עוד תיקיות, כמספר המודולים הקיימים, לא מקלה. כבר עדיף לחזור לפתרון המקורי של הצבת הקבצים בתוך תיקיות המודולים עצמם.

<

p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות

<

p>

זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות

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

re: מיקום קבצי css ימניים

נכתב ע"י לבבי ביום ד', 24/01/2007 - 13:22.

OK, הבנתי, לטיפולך.

זוהר, כל הרכיבים contrib ממילא מומלץ לשים אותם בתיקיה sites/all/modules, כך שאני לא יצרתי שום תיקיה חדשה לרכיבי ה-contrib, רק לרכיבי ה-core. זהו המקום המומלץ על ידי דרופל, והעדפתי להשתמש באותו מבנה, כדי שנדע כל קובץ מאיפה הוא הגיע. אבל במחשבה שנייה - אתה צודק. גם לגבי רכיבי ה-contrib לא כדאי לשים את קבצי ה-css הימניים יחד עם המודול.

נתתי לך הרשאה להיכנס ל-CVS של garlandrtl כדי לבצע את השינוי.

בהמשך כדאי אולי לנהל את קבצי ה-RTL של המודולים כפרוייקט נפרד, שלא קשור לגרלנד, ויכיל את כל קבצי ה-CSS הימניים (כולל של רכיבי contrib). אבל כרגע זה נראה כמו overkill וקובץ הזיפ נראה מספיק.

אמנון לבב - לבבי ייעוץ משולב - סוף מעשה באפיון תחילה!
אפיון אתרי דרופל, ניהול, פיקוח וקידום - אימון אישי, ייעוץ והדרכה.

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

מיקומי קבצי CSS ימניים - נתיב לתמונות

נכתב ע"י avior ביום ו', 26/01/2007 - 00:52.

נראה לי שיכולה להיות כאן בעיה
הנושא הוא מיקומי קבצי התמונות שה CSS מתיחס אליהם למשל אני מקבל הודעת שגיאה ב LOG על 404 על grippie.png
בבדיקה שלי הוא מחפש את התמונה בנתיב sites/all/misc/grippie.png, בגלל שב system.-rtl.css יש הפניה ל נתיב יחסי

.resizable-textarea .grippie {
  height: 9px;
  overflow: hidden;
  background: #eee url(../../misc/grippie.png) no-repeat center 2px;
  border: 1px solid #ddd;
  border-top-width: 0;
  cursor: s-resize;
}

ואז הוא כמובן לא ימצא את זה
בקיצור יש 2 אפשרויות
1. לשים את קבצי ה RTL במחיצה של המודול עצמו
יתרון : קלות הגיור של ה CSS
חסרון : שדרוג האתר יהיה "קשה" יותר כי יש ערבוב של קבצי בסיס וקבצים של העיברית

  1. לשים את קבצי ה CSS במחיצת sites/all/css
    יתרון : שדרוג אתר קל יותר, מיקום מרכזי
    חסרון : גיור ה CSS יהיה מסובך טיפה יותר, כי יהיה צורך להתיחס לתמונות בנתיב מלא ולא יחסי
    אבל הבעיה היותר קשה היא שיכול להיות מצב בו המודול מגיע עם מחיצת תמונות משלו ואז ההפניה אל התמונות יכולה להיות מאוד בעייתית

אביאור
http://dev-art.net

אביאור
http://dev-art.net

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

מיקום קבצי CSS

נכתב ע"י לבבי ביום ה', 22/02/2007 - 16:39.

בתצורה מס' 2, אפשר לפתור את הבעיה על ידי הצבת קישור סימבולי לתיקיה misc (ולתיקיות אחרות עם תמונות) בתוך sites/all/css. הבעייה בתצורה מספר 2 היא ניהול גירסאות. אנחנו ממציאים ספרייה חדשה, שאינה קיימת בגירסה האנגלית ולא ברור איפה לשמור את הקבצים ב-CVS.

תצורה מספר 1 מאפשרת איכשהו לנהל את הגירסאות אולם אינה מאפשרת ניהול מרוכז של קבצי ה-CSS הימניים.

ההחלטה לגבי מיקום הקבצים צריכה להתקבל בשיתוף צוות ניהול הגירסאות של drupal.org. הנה קישור לדיון שמתנהל בנושא:
http://drupal.org/node/56110

אמנון לבב - לבבי ייעוץ משולב - סוף מעשה באפיון תחילה!
אפיון אתרי דרופל, ניהול, פיקוח וקידום - אימון אישי, ייעוץ והדרכה.

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

מיקום קבצי ה-CSS השתנה

נכתב ע"י לבבי ביום ה', 01/03/2007 - 15:33.

והם עכשיו יושבים באופן שטוח תחת GarlandRTL, עם אופציה לקרוא אותם מהספרייה של המודול עצמו (טוב במקרה שיש bitmaps). גרלנד RTL מחפש עכשיו בשני המקומות.

מידע נוסף: http://www.drupal.org.il/node/484

אמנון לבב - לבבי ייעוץ משולב - סוף מעשה באפיון תחילה!
אפיון אתרי דרופל, ניהול, פיקוח וקידום - אימון אישי, ייעוץ והדרכה.

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

קבצי CSS מגויירים בגרסה 5 - מה הוחלט ?

נכתב ע"י avior ביום א', 18/03/2007 - 20:09.

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

אביאור
http://dev-art.net

אביאור
http://dev-art.net

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

אני בעד לשים אותם במודולים עצמם

נכתב ע"י yhager ביום א', 18/03/2007 - 21:22.

כי:

  1. הם שייכים מבחינת תוכן למודולים
  2. הם בוודאי לא שייכים לגרלנד

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

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

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