<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>&#8235;המכללה &#187; עיצוב&#8236;</title>	<atom:link href="http://n2b.org/tag/%d7%a2%d7%99%d7%a6%d7%95%d7%91/feed" rel="self" type="application/rss+xml" />
	<link>http://n2b.org</link>
	<description>&#8235;כי החיים זה לא מדע מדוייק&#8236;</description>	<lastBuildDate>Sun, 18 Jul 2010 11:30:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>&#8235;טיפול במשתמשים עם וורדפרס&#8236;</title>		<link>http://n2b.org/archives/1285</link>
		<comments>http://n2b.org/archives/1285#comments</comments>
		<pubDate>Fri, 15 May 2009 08:35:19 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[ערכות]]></category>
		<category><![CDATA[עיצוב]]></category>
		<category><![CDATA[פיתוח]]></category>
		<category><![CDATA[תוספים]]></category>
		<category><![CDATA[משתמשים]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1285</guid>
		<description><![CDATA[&#8235;למאמר זה יש שתי מטרות עיקריות שהראשונה בהן היא להסביר כיצד לפשט את כל תהליך הרישום לבלוג מבוסס וורדפרס. השניה, והחשובה לא פחות, היא כיצד להבליט למשתמש את הכלים העומדים לרשותו כדי להקל על תהליכי ההתחברות, ההתנתקות ועדכון הפרטים.&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>גירסה 2.7 של וורדפרס היוותה קפיצת מדרגה משמעותית בתהליך ההתבגרות של וורדפרס, קפיצה המיוחסת בעיקר לשינוי בממשק האדמין. אומנם השינוי הוא עיצובי ברובו אבל הוא מייצר חווית שימוש נוחה ונעימה יותר. למעשה, קצת מפתיע אותי שבוורדפרס החליטו למספר את הגירסה כ 2.7 ולא כ 3.0. ההתבגרות הזו שידרגה את המיצוב של וורדפרס ממערכת בלוגינג למעמד הנכסף של מערכת CMS, ואתרים פשוטים מבוססי וורדפרס החלו להפיע בכל מקום ברחבי האינטרנט. וורדפרס עדיין לא מהווה תחליף מושלם למערכת CMS ושני הדברים שהכי צורמים לי בה זה העדר מערכת באנרים וניהול משתמשים בעייתי.</p>
<p>בחלק האחורי, יש לוורדפרס מערכת ניהול משתמשים לא רעה בכלל. המערכת מצויידת ברוב שדות הפרופיל הרלוונטים למשתמש ובמערכת הרשאות המאפשרת למקם כל משתמש רשום על הסקאלה שבין קורא פשוט למנהל מערכת. אבל כאמור, כל העסק הזה נמצא בחלק האחורי של המערכת וכשמנסים להביט על המימוש שאמור לפגוש המשתמש מתחילים לצוף הכשלים השימושיים. אם נעקוב לרגע אחרי המסלול שעושה משתמש המעוניין להרשם במערכת וורדפרס נראה שנגזר עליו תיזוז רב. ראשית יש להגיע לעמוד ההרשמה, שלמרות שהוא קיים ויש עבורו לינק ישנן מעט מאוד ערכות שבאמת מציגות את הלינק הלז. אם המשתמש מכיר את המערכת הוא בוודאי ימצא את הלינק בקלות, אך משתמש שאינו מכיר אותה לא ידע איך להגיע לשם. לאחר שהגענו כבר אל עמוד ההרשמה נמצא שם שני שדות למשתמש &#8211; שם משתמש וכתובת דוא&quot;ל, וורדפרס תייצר את אחת מהסיסמאות הרנדומאליות הקשות מאוד לפיצוח (וזכירה) שלה ותשלח את הלינק אל הדואר שהגדיר המשתמש. עכשיו צריך לנדוד הגולש אל התיבה שלו, לפתוח את הדוא&quot;ל, לחזור אל האתר ולבצע התחברות. איפה מבצעים התחברות? רוב הסיכויים שאם אין לכם לינק להרשמה הרי שגם הלינק להתחברות לא קיים.<br />
עם סיום ההתחברות למערכת ימצא עצמו הגולש בלוח הבקרה המסורס. זה נראה כמו לוח הבקרה שלכם רק שמלבדו קיימים שני לינקים &#8211; לעדכון פרופיל ול&quot;כלים&quot; (התקנה של &quot;טורבו&quot;). בתקווה שהגולש יבין מה הכוונה של &quot;הפרופיל שלך&quot; הוא יכנס לשם ורק אז הוא סוף סוף יוכל למלא פרטים בסיסיים כגון &#8211; שם, כתובת אתר, מידע על עצמו וכמובן &#8211; להחליף סיסמא למשהו נורמאלי.<br />
בשלב הזה, אם הגולש עדיין לא התיאש מנושא ההרשמה המסובך והוא ימצא את הלינק &quot;אל הבלוג&quot; בראש לוח הבקרה הוא יגיע אל העמוד הראשי של הבלוג, הווה אומר שעכשיו הוא יצטרך לחפש איפה הייתה הכתבה שבגללה הוא בכלל טרח לעבור את כל נושא ההרשמה. </p>
<div id="attachment_1292" class="wp-caption alignleft" style="width: 160px"><a href="http://n2b.org/wp-content/uploads/2009/05/userlogin.jpg" rel="lightbox[1285]"><img src="http://n2b.org/wp-content/uploads/2009/05/userlogin-150x150.jpg" alt="טופס התחברות" title="טופס התחברות" width="150" height="150" class="size-thumbnail wp-image-1292" /></a><p class="wp-caption-text">טופס התחברות</p></div>
<p>למאמר זה יש שתי מטרות עיקריות שהראשונה בהן היא להסביר כיצד לפשט את כל תהליך הרישום לבלוג מבוסס וורדפרס. השניה, והחשובה לא פחות, היא כיצד להבליט למשתמש את הכלים העומדים לרשותו כדי להקל על תהליכי ההתחברות, ההתנתקות ועדכון הפרטים.</p>
<p>השלב הראשון, והפשוט מבין השניים, יהיה להוריד את תוסף <a href="http://skullbit.com/wordpress-plugin/register-plus/">Register-Plus</a> ולהוריד את <a href="http://n2b.org/archives/1260">קבצי התרגום לעברית</a> שלו. לאחר מכן יש להפעיל את התוסף. דרך מסך ההגדרות של התוסף ניתן לקבוע איזה שדות יוצגו בפני המשתמש בטופס הרישום, לבחור האם להשתמש בקאפצ'ה, אקטיבציה בעזרת דוא&quot;ל, להגדיר שדות רשות ושדות חובה ואפילו להמציא שדות משלכם אם יש לכם משהו קונקרטי (כדאי מאוד גם לעבור קצת על הגדרות ה CSS על מנת לוודא שהטופס נראה טוב).</p>
<p>בשלב הזה פישטנו את הליך ההרשמה לטופס קצר, פשוט וברור וקיצרנו את רוב הטיילת הכרוכה סביב רישום לבלוג, עכשיו נותר לנו רק להנגיש את הטופס למשתמש כך שיהיה לו קל למצוא אותו וקל לחזור אחר כך למקום ממנו הוא בא.</p>
<p>ראשית, נבנה טופס התחברות קצר, אנחנו זקוקים לשני שדות טקסט (שם משתמש וסיסמא) וצ'ק בוקס אחד (בשביל &quot;זכור אותי&quot;). נוסיף גם שני לינקים בשביל שחזור סיסמא והרשמה. </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;form id=<span class="st0">&quot;userlogin&quot;</span> <span class="kw2">class</span>=<span class="st0">&quot;appnitro&quot;</span> &nbsp;method=<span class="st0">&quot;post&quot;</span> action=<span class="st0">&quot;&lt;?php bloginfo('url') ?&gt;/wp-login.php&quot;</span>&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;ul&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;li <span class="kw2">class</span>=<span class="st0">&quot;field&quot;</span> &gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;label <span class="kw2">class</span>=<span class="st0">&quot;description&quot;</span> <span class="kw1">for</span>=<span class="st0">&quot;userName&quot;</span>&gt;שם משתמש &lt;/label&gt;</div>
</li>
<li class="li2">
<div class="de2">&lt;input id=<span class="st0">&quot;log&quot;</span> name=<span class="st0">&quot;log&quot;</span> <span class="kw2">class</span>=<span class="st0">&quot;formField&quot;</span> type=<span class="st0">&quot;text&quot;</span> maxlength=<span class="st0">&quot;255&quot;</span> value=<span class="st0">&quot;&lt;?php echo wp_specialchars(stripslashes($user_login), 1) ?/&gt;&quot;</span>/&gt; </div>
</li>
<li class="li1">
<div class="de1">&lt;/li&gt;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&lt;li <span class="kw2">class</span>=<span class="st0">&quot;field&quot;</span> &gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;label <span class="kw2">class</span>=<span class="st0">&quot;description&quot;</span> <span class="kw1">for</span>=<span class="st0">&quot;userPass&quot;</span>&gt;סיסמא &lt;/label&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;input id=<span class="st0">&quot;pwd&quot;</span> name=<span class="st0">&quot;pwd&quot;</span> <span class="kw2">class</span>=<span class="st0">&quot;formField&quot;</span> type=<span class="st0">&quot;password&quot;</span> maxlength=<span class="st0">&quot;255&quot;</span> value=<span class="st0">&quot;&quot;</span>/&gt; </div>
</li>
<li class="li2">
<div class="de2">&lt;/li&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;li <span class="kw2">class</span>=<span class="st0">&quot;check&quot;</span>&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;label <span class="kw1">for</span>=<span class="st0">&quot;rememberme&quot;</span>&gt;זכור אותי&lt;/label&gt;&lt;input name=<span class="st0">&quot;rememberme&quot;</span> id=<span class="st0">&quot;rememberme&quot;</span> type=<span class="st0">&quot;checkbox&quot;</span> checked=<span class="st0">&quot;checked&quot;</span> value=<span class="st0">&quot;forever&quot;</span> /&gt;&lt;/li&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;/ul&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;input type=<span class="st0">&quot;hidden&quot;</span> name=<span class="st0">&quot;redirect_to&quot;</span> value=<span class="st0">&quot;&lt;?php echo $_SERVER['REQUEST_URI']; ?/&gt;&quot;</span> /&gt;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;&lt;center&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;input id=<span class="st0">&quot;saveForm&quot;</span> <span class="kw2">class</span>=<span class="st0">&quot;button&quot;</span> type=<span class="st0">&quot;submit&quot;</span> name=<span class="st0">&quot;submit&quot;</span> value=<span class="st0">&quot;כניסה&quot;</span> /&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;/center&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;/form&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;ul <span class="kw2">class</span>=<span class="st0">&quot;registration&quot;</span>&gt;</div>
</li>
<li class="li2">
<div class="de2">&lt;li&gt;&lt;a href=<span class="st0">&quot;&lt;?php echo get_option('home'); ?&gt;/wp-register.php&quot;</span>&gt;הרשמה&lt;/a&gt;&lt;/li&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;li&gt;&lt;a href=<span class="st0">&quot;&lt;?php echo get_option('home'); ?&gt;/wp-login.php?action=lostpassword&quot;</span>&gt;שחזור סיסמא&lt;/a&gt;&lt;/li&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;/ul&gt;</div>
</li>
</ol>
</div>
<p>כאמור, טופס פשוט למדי, השדה היחיד שהוא לא טרוויאלי נמצא בשורה 14 ומכיל מידע על העמוד ממנו הגיע המשתמש על מנת שהטופס יחזיר את המשתמש ישירות אל אותו העמוד בסוף התהליך. לינק ההרשמה מוביל בשלב הזה לעמוד ההרשמה המשודרג שיצרנו בעזרת התוסף, לצערי, וורדפרס לא מאפשרת להגדיר הפניה לאחר הרשמה וגם התוסף Register Plus לא יודע לעשות את זה, כך שמי שירשם לאתר בכל זאת יגיע אל עמוד האדמין בפעם הראשונה (זה מטריד קצת, אני עדיין בודק מה אפשר לעשות בנושא).</p>
<p>היות ואין טעם להציג בפני משתמש מחובר טופס התחברות, ניתן להשתמש בפונקציה is_user_logged_in על מנת לבדוק האם המשתמש מחובר או לא ולהציג לו מסך מתאים. </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt; ?php <span class="kw1">if</span> <span class="br0">&#40;</span>!is_user_logged_in<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&#8230;</div>
</li>
<li class="li1">
<div class="de1">the form </div>
</li>
<li class="li1">
<div class="de1">&#8230;</div>
</li>
<li class="li2">
<div class="de2">&lt; ?php <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&#8230;</div>
</li>
<li class="li1">
<div class="de1">something <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&#8230;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>אפשר לבחור שלא להציג כלום למשתמש מחובר, אין עם זה כל בעיה כמובן, אפשר להסתפק רק בלכתוב שלום < שם משתמש> ע&quot;י שליפת המידע מפרטי המשתמש. אישית, נראה לי הגיוני לצרף פה שני לינקים &#8211; קישור להתנתקות וקישור לעדכון פרטים. אפשרות נוספת היא לבדוק האם המשתמש הוא קורא או בעל סמכות ואם הוא בעל סמכות להציג לו גם קישור לאדמין, הנה כך:</p>
</pre>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/global"><span class="kw3">global</span></a> <span class="re0">$current_user</span>;</div>
</li>
<li class="li1">
<div class="de1">get_currentuserinfo<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$name</span> = <span class="re0">$current_user</span>-&gt;<span class="me1">user_firstname</span>. <span class="st0">&quot; &quot;</span>. <span class="re0">$current_user</span>-&gt;<span class="me1">user_lastname</span>;</div>
</li>
<li class="li2">
<div class="de2"><a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;שלום &quot;</span> , <span class="re0">$name</span>; <span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&lt;ul&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;li&gt;&lt;a href=<span class="st0">&quot;&lt;?php echo wp_logout_url(urlencode($_SERVER['REQUEST_URI'])); ?&gt;&quot;</span>&gt;התנתקות&lt;/a&gt;&lt;/li&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt;li&gt;&lt;a href=<span class="st0">&quot;/blog/wp-admin/profile.php&quot;</span>&gt;עריכת פרטים&lt;/a&gt;&lt;/li&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt; ?php <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="re0">$current_user</span>-&gt;<span class="me1">user_level</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="kw2">?&gt;</span></div>
</li>
<li class="li2">
<div class="de2">&lt;li&gt;&lt;a href=<span class="st0">&quot;/blog/wp-admin&quot;</span>&gt;פאנל ניהול&lt;/a&gt;&lt;/li&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt; ?php <span class="br0">&#125;</span><span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&lt;/ul&gt;</div>
</li>
<li class="li1">
<div class="de1">&lt; ?php <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p><div id="attachment_1297" class="wp-caption alignleft" style="width: 160px"><a href="http://n2b.org/wp-content/uploads/2009/05/logedinadmin.jpg" rel="lightbox[1285]"><img src="http://n2b.org/wp-content/uploads/2009/05/logedinadmin-150x150.jpg" alt="מסך לאדמין מחובר" title="מסך לאדמין מחובר" width="150" height="150" class="size-thumbnail wp-image-1297" /></a><p class="wp-caption-text">מסך לאדמין מחובר</p></div>
<p>יש כמה דברים שחשוב לשים אליהם לב. ראשית, כל המידע על המשתמש מצריך פניה למשתנה גלובאלי בשם current_user. קראתי לו בשורה מספר 2 ובלעדיו לא ניתן להגיע אל נתוני המשתמש.</p>
<p>שנית, כל המשתמשים שהם בדרגת קריאה בלבד אין להם "דרגת משתמש" העסק הזה קצת מבלבל כי מי שניסה ליצור משתמשים דרך פאנל הניהול בוודאי שם לב שהדרגות נעות בין 10-קריאה ועד ל 50 - מנהל (עקבי עד גירסה 2.7, אבל ב 2.7.1 המספרים כבר לא מופיעים) בעוד שמבחינת התשובה שמחזיר user_level דרגת המנהל היא 10 וכאמור דרגת הקורא איננה קיימת. לכן בעצם, ניתן להכניס את הקריאה לדרגה כמשפט IF, שכן ללא דרגה הוא איננו מתקיים.<br />
בברירת המחדל, כשמשתמש מתנתק מוורדפרס הוא מוחזר אל מסך ההתחברות ולא אל הבלוג. (למה דווקא למסך ההתחברות אם הוא הרגע התנתק, ההגיון אומר לבלוג, אבל ניחא) המזל הוא שהלינק להתנתקות (שורה 7) מאפשר החדרת פרמטר המגדיר את העמוד אליו יוחזרר המשתמש, השימוש במשתנה המחזיר את העמוד בו נמצא המשתמש מאפשר להחזיר אותו בתום ההתנתקות לעמוד בו הוא נמצא כרגע.</p>
<p>בלינק ההורדה למטה ניתן למצוא קובץ זיפ המכיל שני קבצים. הראשון הוא קובץ PHP המכיל את הסקריפט שתואר לעיל והשני הוא קובץ CSS עם כל המחלקות הרלוונטיות. העיצוב מתבסס על תבנית מימבו (בה אני משתמש) וכל אחד כמובן יצטרך לעשות את ההתאמה הנדרשת לתבנית שלו. את ה PHP אפשר לשלב בכל מקום בערכה ע"י שימוש ב: </p>
</pre>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">include</span><span class="br0">&#40;</span><span class="st0">'registration.php'</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>כמובן בתנאי שהקובץ נשמר בתיקיית העיצוב. את מחלקות ה CSS מומלץ להעתיק כמות שהן לקובץ ה CSS המקורי. בבר הניווט השמאלי של האתר (למי שנכנס ולא קורא מה RSS) ניתן למצוא הדגמה של תיבת ההתחברות, אתם מוזמנים לנסות להרשם, להתחבר, להתנתק וכ'. מי שלא רוצה להרשם יכול להתחבר עם demo כשם משתמש וכסיסמא.<br />
אם הטופס נראה מחורבש זה כי הדפדפן שלכם שמר גירסה ישנה של קובץ ה CSS שלי, בפיירפוקס אפשר לנקות אותה על ידי כניסה לכלים -> ניקוי מידע פרטי ומחיקה של קבצי הקאש. יש גם דרך לעשות את זה באקספלורר, לדעתי דרך כלים -> הגדרות אינטרנט אבל זה כבר נשגב מבינתי.</p>
<div id="downloadlink"><a href="http://files.n2b.org/login.zip">להורדה</a></div>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for טיפול במשתמשים עם וורדפרס" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+טיפול+במשתמשים+עם+וורדפרס" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1285/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>&#8235;התאמת הפוסט להדפסה&#8236;</title>		<link>http://n2b.org/archives/1159</link>
		<comments>http://n2b.org/archives/1159#comments</comments>
		<pubDate>Tue, 24 Feb 2009 15:21:08 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[נגישות]]></category>
		<category><![CDATA[עיצוב]]></category>
		<category><![CDATA[הדפסה]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1159</guid>
		<description><![CDATA[&#8235;פעם בכמה זמן אני מוצא את עצמי נאלץ להדפיס פוסט מבלוג כלשהו. לפעמים כי אני לוקח אותו כחומר קריאה למקום שאליו אני לא לוקח לפטופ, לפעמים כי עשיתי שינוי כזה או אחר בקבצי ההגדרות ועכשיו המחשב שלי עובד במוד טקסטואלי בלבד &#8211; כך או כך &#8211; לפעמים אני צריך להדפיס וקרוב לוודאי שאני לא היחיד. [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>פעם בכמה זמן אני מוצא את עצמי נאלץ להדפיס פוסט מבלוג כלשהו. לפעמים כי אני לוקח אותו כחומר קריאה למקום שאליו אני לא לוקח לפטופ, לפעמים כי עשיתי שינוי כזה או אחר בקבצי ההגדרות ועכשיו המחשב שלי עובד במוד טקסטואלי בלבד &#8211; כך או כך &#8211; לפעמים אני צריך להדפיס וקרוב לוודאי שאני לא היחיד.<br />
מי שטורח להיכנס אל הבלוג שלי ולא קורא אותי רק דרך RSS בוודאי שם לב למבנה העיצובי שלי &#8211; הדר ופוטר ענקיים, שני ברי ניווט עתירי פיצ'רים ולינקים, הרבה מקום לתגובות ובתוך כל זה &#8211; מתחבא הפוסט. התוצאה מכך היא שכאשר רוצים להדפיס פוסט מתלווה אליו כל החלק ההיקפי שהופך עמוד אחד של תוכן לכ 7-10 דפים מודפסים. האם באמת יש צורך בכל כמות הנייר הזו? תוכן של פוסט שלי ימלא בין עמוד אחד לשניים, כל השאר אין לו חשיבות בהדפסה. </p>
<p>היות והבלוגים מבוססי וורדפרס בנויים בעזרת Xhtml ו css קל מאוד להתאים את העיצוב להדפסה, כל מה שצריך זה ליצור כללים מתאימים לגירסת הדפסה שיציגו רק את התוכן הרלוונטי. השינוי וההתאמה הללו מצריכים לא מעט עבודה ומעברים על הקוד, מי שיש לו Firebug ישמח, מי שאין לו <a href="http://getfirebug.com/">שיתקין</a>, דבר נוסף שכדאי שיהיה לכם זה גם שרת ניסוי / בדיקות, <a href="http://www.apachefriends.org/en/xampp.html">Xampp</a> יעשה עבודה מצויינת למי שעובד תחת חלונות ולא רוצה להסתבך עם התקנות. </p>
<p><strong>שלב ראשון: מציאת המבנה</strong></p>
<p>היות והמבנה שלי הוא קצת מבולגן ולא דומה לרוב הבלוגים, אתמקד במבנה בסיסי יותר של תבנית עיצוב &#8211; כזו שיש לה הדר, בר ניווט עילי, בר ניווט צידי, איזור תוכן ופוטר. קובריק פחות או יותר מתאימה פה אם כי במקרה שלה אין בר ניווט עליון. זהו מבנה השלד ה Xhtmlי של התבנית לגמרי לא התיחסתי פה לשלל סלקטורים קטנים שיושבים בתוך איזור הפוסט (למשל אזור המטא של הפוסט) אלא רק לשלד הגדול. שמרתי על מבנה מקונן כדי להקל על ההבנה:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;body&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;page&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;header&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;navbar&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;wrapper&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;sidebar&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;content&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;post-38&quot; class=&quot;post&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;respond&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&quot;footer&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;
</div>
</li>
<li class="li2">
<div class="de2">&lt;/body&gt;</div>
</li>
</ol>
</div>
<p><strong>שלב שני: עריכת CSS</strong></p>
<p>ראשית, יש לפתוח את קובץ ה CSS של הערכה (הקובץ style.css) לגלול אל תחתיתו ולהוסיף בו את השורות הללו:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">@media print {</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>יצרנו למעשה תת מחלקה בקובץ ה CSS שאומרת לדפדפן כיצד להתנהג כשאנחנו רוצים להדפיס את העמוד. משלד ה Xhtml אפשר לראות יחסית בקלות שאיזור הפוסט נמצא תחת content וזהו למעשה האיזור היחיד שאנחנו רוצים להדפיס, כל השאר &#8211; ההדר, ברי הניווט או הפוטר מיותרים לחלוטין. לכן, כל אובייקט שאנחנו לא רוצים שיוצג נשתמש עבורו ב display:none. זה גם הזמן לשחק עם הקרע, צבעי הפונטים ורוחב העמודה על מנת לוודא שהתוכן יודפס למלוא רוחב העמוד. </p>
<p>כך זה יכול להראות בסוף:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">@media print {</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">#body</span> <span class="br0">&#123;</span> background<span class="re2">:white</span>; color<span class="re2">:black</span>; margin<span class="re2">:<span class="nu0">0</span></span>; &nbsp;direction<span class="re2">:rtl</span>; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">#page</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">#header</span> <span class="br0">&#123;</span>display<span class="re2">:none</span> <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="re0">#navbar</span> <span class="br0">&#123;</span>display<span class="re2">:none</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">#sidebar</span> <span class="br0">&#123;</span>display<span class="re2">:none</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">#content</span> <span class="br0">&#123;</span><span class="kw1">width</span>: <span class="re3"><span class="nu0">100</span>%</span><span class="br0">&#125;</span>&nbsp; </div>
</li>
<li class="li1">
<div class="de1"><span class="re0">#respond</span> <span class="br0">&#123;</span>display<span class="re2">:none</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">#footer</span> <span class="br0">&#123;</span>display<span class="re2">:none</span> <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>אפשר לראות שבשורה 7 שיניתי את רוחב העמודה ל 100% ולא קבעתי מספר פיקסלים סופי, זה נעשה על מנת להבטיח התאמה מלאה לרוחב העמוד ללא קשר לרוחב הדף עליו מדפיס המשתמש.</p>
<p><strong>שלב שלישי: אקטיבציה</strong></p>
<p>כל שיש לעשות עכשיו זה לרענן את קריאת ה CSS כך שיודיע לדפדפן להתיחס לקובץ גם במקרה של הדפסה, חפשו בקוד המקור שלכם (קרוב לוודאי בקובץ header.php) את השורה הזו:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;link rel=<span class="st0">&quot;stylesheet&quot;</span> href=<span class="st0">&quot;&lt;?php bloginfo('stylesheet_url'); ?&gt;&quot;</span> type=<span class="st0">&quot;text/css&quot;</span> media=<span class="st0">&quot;screen&quot;</span> /&gt;&lt;/link&gt;</div>
</li>
</ol>
</div>
<p>ושנו אותה כדי שתראה כך:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;link rel=<span class="st0">&quot;stylesheet&quot;</span> href=<span class="st0">&quot;&lt;?php bloginfo('stylesheet_url'); ?&gt;&quot;</span> type=<span class="st0">&quot;text/css&quot;</span> media=<span class="st0">&quot;screen, &nbsp;print&quot;</span> /&gt;&lt;/link&gt;</div>
</li>
</ol>
</div>
<p>התוספת היא למעשה רק המילה print תחת סוג המדיה, אבל מעכשיו הדפדפן ידע כיצד לפרמט את עמודי הפוסטים שלכם להדפסה. </p>
<p><strong>מה הלאה</strong></p>
<p>הפוסט הזה מתיחס רק להדפסה של עמודי פוסטים, למרות שאם הקפדתם על מבנה ה Xhtml של הבלוג לכל סוגי הדפים ההגדרה צריכה לחול גם עליהם. אפשר עכשיו לעבור על הדפים האחרים בבלוג (ראשי, עמוד, ארכיון, תוצאות חיפוש, קטגוריה וכ') ולראות האם הם מודפסים לשביעות רצונכם או לא. את כל התיקונים אפשר להוסיף למחלקה שיצרנו ולהבטיח תוצאות הדפסה טובות בכל עמוד.</p>
<p>סוג מדיה אחר ששווה להכיר הוא handheld והוא מיועד לתצוגה על גבי מחשבי כף יד ומכשירי סלולר &#8211; ומאפשר לעשות גירסה קלה ונוחה יותר של הבלוג שלכם כך שתתאים לסלולר. לרוע המזל בגלל המגוון במכשירים, גדלי מסכים ורזולוציות צריך להיזהר עד מאוד מקביעה של גדלים קבועים. עמודה שהרוחב שלה מוגדר כ 600px לא תעבוד טוב במכשיר שיש לו רק 200 פיקסלים בתצוגה. לכן, מומלץ להמיר את כל גדלי התיבות לרוחב יחסי וכך להתאים את התוכן לכל סוגי הניידים. </p>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for התאמת הפוסט להדפסה" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+התאמת+הפוסט+להדפסה" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1159/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>&#8235;מתיחת בר ניווט לכל אורך העיצוב&#8236;</title>		<link>http://n2b.org/archives/1086</link>
		<comments>http://n2b.org/archives/1086#comments</comments>
		<pubDate>Mon, 05 Jan 2009 14:07:33 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[עיצוב]]></category>
		<category><![CDATA[האקים]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=1086</guid>
		<description><![CDATA[&#8235;אחת הבעיות עם מודל הקופסה ב css הוא נושא הגובה. בעוד הרוחב הוא פשוט להגדרה שכן הוא אחיד לכל אורך העמודה, הרי שבאתר דינמי כבלוג עמודת הפוסט עלולה להיות ארוכה במיוחד או קצרה במיוחד &#8211; עובדה שקשה לחזות מראש בזמן העיצוב. נכון שברמת העיקרון ניתן להגדיר לכל אובייקט cssי את גובהו בעזרת שימוש בפרמטר height, [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p><a href="http://n2b.org/wp-content/uploads/2009/01/css_all_2.jpg" rel="lightbox[1086]"><img src="http://n2b.org/wp-content/uploads/2009/01/css_all_2-150x150.jpg" alt="רצוי - שתי עמודות באותו אורך. מצוי - אחת העמודות קצרה מהשניה&quot;" title="רצוי - שתי עמודות באותו אורך. מצוי - אחת העמודות קצרה מהשניה&quot;" width="150" height="150" class="size-thumbnail wp-image-1096" /></a>אחת הבעיות עם מודל הקופסה ב css הוא נושא הגובה. בעוד הרוחב הוא פשוט להגדרה שכן הוא אחיד לכל אורך העמודה, הרי שבאתר דינמי כבלוג עמודת הפוסט עלולה להיות ארוכה במיוחד או קצרה במיוחד &#8211; עובדה שקשה לחזות מראש בזמן העיצוב. נכון שברמת העיקרון ניתן להגדיר לכל אובייקט cssי את גובהו בעזרת שימוש בפרמטר height, אבל כאמור &#8211; אם אזור הפוסטים ארוך מדי או קצר מדי &#8211; זה עלול להראות קצת מכוער.<br />
כשהעיצוב הוא לבן בעיקרו, כמו בבלוג שלי ועוד בלוגים רבים אחרים ברשת, אין עם זה ממש בעיה, בשלב מסויים הגלילה עוברת אל מתחת לעמודה של בר הניווט והרווח נטמע בדף, אבל בעיצוב צבעוני שבו כל איזור תחום בצבע רקע אחר (ואפילו אם סתם יש מחיצה ברורה ביניהם) החיסרון עלול להיות מורגש במיוחד. </p>
<p>מדי פעם מגיעה לידי ערכת עיצוב שכזו, שבה בר הניווט נמתח עד סוף העמוד והקיטוע שלו באמצע מורגש עד מאוד. זה זמן מה אני מחפש (ללא הצלחה מרובה) פיתרון מעשי (חשבתי על לקבוע את הגובה בעזרת ג'אווה סקריפט למשל לאחר טעינת העמודה הראשית) ולבסוף מצאתי את ההאק הפשוט מאוד אך יעיל מאוד וככה זה הולך:</p>
<p>בסידור ערכה בסיסי אנחנו נוהגים לפרוש את האלמנטים בצורה הבאה:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;div id=&quot;page&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div id=&quot;header&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;header content
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;
</div>
</li>
<li class="li2">
<div class="de2">&lt;div id=&quot;sidebar&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sidebar content
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div id =&quot;content&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;content content
</div>
</li>
<li class="li2">
<div class="de2">&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;</div>
</li>
</ol>
</div>
<p>בשיטה הזו, כל האובייקטים מוגדרים דרך ה css אבל לכל אחד מהם כאמור יש את האורך שלו לפי התוכן שלו &#8211; מה שמניב את המצבים הלא נוחים. לכן, נעטוף את content ואת sidebar באובייקט נוסף &#8211; wrapper ואחר כך נטפל גם בו ב css.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;div id=&quot;page&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div id=&quot;header&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;header content
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;
</div>
</li>
<li class="li2">
<div class="de2">&lt;div id=&quot;wrapper&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;&lt;div id=&quot;sidebar&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sidebar content
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;&lt;div id =&quot;content&quot;&gt;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;content content
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div style=&quot;clear: both;&quot;/&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;</div>
</li>
</ol>
</div>
<p>כפי שניתן לראות, הוספתי בסוף הקטע אובייקט שכל תפקידו לנקות את אובייקטי ה float. בתאוריה אין חשיבות לאובייקט הזה שכן במילא הבר והתוכן צפים זה לצד זה וכל אובייקט שננסה לדחוף ירד מתחתם, אבל ההוספה של ניקוי הציפה גורמת לכך שהאובייקט wrapper יתארך עד סוף אזור התוכן או בר הניווט &#8211; הארוך מביניהם.</p>
<p><div id="attachment_1099" class="wp-caption alignleft" style="width: 245px"><a href="http://n2b.org/wp-content/uploads/2009/01/css_1px.jpg" rel="lightbox[1086]"><img src="http://n2b.org/wp-content/uploads/2009/01/css_1px.jpg" alt="רצועה בגובה פיקסל וברוחב של wrapper" title="רצועה בגובה פיקסל וברוחב של wrapper" width="235" height="24" class="size-full wp-image-1099" /></a><p class="wp-caption-text">רצועה בגובה פיקסל וברוחב של wrapper</p></div>השלב הבא הוא לפתוח את תוכנת הגרפיקה האהובה עליכם ולייצר בה תמונה חדשה בגובה של פיקסל אחד וברוחב של wrapper. אל תוך התמונה הזו יש לשכפל את הרקע של בר הניווט, איזור התוכן והמפרידים (לחילופין, אפשר פשוט לבצע גזירה מתוך הסקיצה של רצועה שכזו). במקרה והרקע מכיל גם אלמנטים גרפיים משתכפלים יש ליצור כמובן רצועה רחבה יותר כך שהתבנית תוכל להשתכפל במלואה לכל אורך העמוד.</p>
<p>לבסוף, נוסיף את ההגדרות עבור אובייקט ה wrapper בקובץ ה css לצורך הדוגמא קראתי לתמונה bg.jpg</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">#wrapper</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">width</span>: <span class="re3"><span class="nu0">100</span>%</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">background</span>: <span class="kw2">url</span><span class="br0">&#40;</span><span class="st0">'images/bg.gif'</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>התוצאה המתקבלת היא שכפול של אותה רצועה ברוחב פיקסל לאורך כל העמוד תוך יצירת המשכיות של עיצוב אזור התוכן ובר הניווט. למרות שבפועל תמיד אחד מהם יחתך לפני סוף העמוד, המשתמש לא יוכל להבחין בכך. </p>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for מתיחת בר ניווט לכל אורך העיצוב" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+מתיחת+בר+ניווט+לכל+אורך+העיצוב" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/1086/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8235;תגובות בעמוד ראשי, #3&#8236;</title>		<link>http://n2b.org/archives/680</link>
		<comments>http://n2b.org/archives/680#comments</comments>
		<pubDate>Thu, 12 Jun 2008 13:26:34 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[עיצוב]]></category>
		<category><![CDATA[תגובות]]></category>
		<category><![CDATA[תוספים]]></category>
		<category><![CDATA[לייטבוקס]]></category>
		<category><![CDATA[האקים]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=680</guid>
		<description><![CDATA[&#8235;בפוסט הקודם הדגמתי כיצד ניתן להשתמש בג'אווה סקריפט פשוט על מנת להציג את התגובות בתוך Div נסתר. כאמור, היה מדובר בפיתרון פשוט ללא כל אפקטים שעבור חלק מהערכות ייצר פיתרון מכוער למדי. לייטבוקס. לייטבוקס הוא ג'אווה סקריפט שמייצר שיכבת תוכן נוספת מעל לעמוד הבלוג. השימוש בפונקציה הזו הפך להיות די נפוץ בעיקר על מנת להציג [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>בפוסט הקודם הדגמתי כיצד ניתן להשתמש בג'אווה סקריפט פשוט על מנת להציג את התגובות בתוך Div נסתר. כאמור, היה מדובר בפיתרון פשוט ללא כל אפקטים שעבור חלק מהערכות ייצר פיתרון מכוער למדי.</p>
<p><a href='http://n2b.org/wp-content/uploads/2008/06/ibox.png' rel="lightbox[680]"><img src="http://n2b.org/wp-content/uploads/2008/06/ibox-300x194.png" alt="תגובות בחלונית iBox" title="ibox" width="300" height="194" class="alignnone size-medium wp-image-681" /></a><strong>לייטבוקס.</strong><br />
לייטבוקס הוא ג'אווה סקריפט שמייצר שיכבת תוכן נוספת מעל לעמוד הבלוג. השימוש בפונקציה הזו הפך להיות די נפוץ בעיקר על מנת להציג תמונות אבל ניתן בעזרתו להציג כמעט כל דבר כולל עמודים, אובייקטים נסתרים, סרטוני youtube וכן הלאה. </p>
<p>מבין עשרות הסקריפטים הקיימים לישומי לייטבוקס, אני מעדיף דווקא את iBox המציע גם תוסף לוורדפרס ומאפשר הטמעה קלה ופשוטה של הפונקציה הזו. </p>
<p><strong>הטמעה</strong><br />
הערה: מי שכבר ניסה להטמיע את הקוד בפוסט הקודם מומלץ שיסיר את הסקריפט הקודם. </p>
<p>ראשית, יש להוריד ולהתקין את התוסף של iBox <a href="http://labs.ibegin.com/ibox">מכאן</a><br />
לאחר ההתקנה וההפעלה, ממשיכים פחות או יותר כמו בפוסט הקודם – הטמעה של אובייקט נסתר בעמוד:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;div id=<span class="st0">&quot;comm-&lt;?php the_ID(); ?&gt;&quot;</span> style=<span class="st0">&quot;display: none; text-align:right&quot;</span>&gt; </div>
</li>
<li class="li1">
<div class="de1">&lt; ?php <span class="re0">$withcomments</span> = <span class="kw2">true</span>; comments_template<span class="br0">&#40;</span><span class="br0">&#41;</span>;?&gt; </div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;</div>
</li>
</ol>
</div>
<p>וקריאה אליו ע&quot;י יצירת קישור שמפעיל את הלייטבוקס</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;a href=<span class="st0">&quot;#omm-&lt;?php the_ID(); ?&gt;&quot;</span> rel=”ibox”&gt;</div>
</li>
<li class="li1">
<div class="de1">הצג תגובות </div>
</li>
<li class="li1">
<div class="de1">&lt;/a&gt;</div>
</li>
</ol>
</div>
<p>זהו, מעכשיו בכל לחיצה על &quot;הצג תגובות&quot; יפתח לייטבוקס המציג את התגובות של הפוסט. האפקט פה הוא הרבה יותר מרשים מאשר אפקט הקפיצה של האלמנט המתחבא אבל ההערות נותרות בעינן – גם בשיטה הזו נטענות כל התגובות של כל הפוסטים אל תוך הדף וזה אומר שאם יש פוסטים עמוסים בתגובות זה יכול להאריך במיוחד את זמן הטעינה. </p>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for תגובות בעמוד ראשי, #3" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+תגובות+בעמוד+ראשי,+#3" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/680/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>&#8235;תגובות בעמוד ראשי, #2&#8236;</title>		<link>http://n2b.org/archives/678</link>
		<comments>http://n2b.org/archives/678#comments</comments>
		<pubDate>Tue, 10 Jun 2008 12:34:37 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[עיצוב]]></category>
		<category><![CDATA[תגובות]]></category>
		<category><![CDATA[האקים]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=678</guid>
		<description><![CDATA[&#8235;הפיתרון של הצגת תגובות בעזרת חלונית פופאפים הוא אומנם הפשוט ביותר כיוון שהוא פיתרון מובנה של וורדפרס, אבל לא כולם אוהבים פופאפים. בשורה התחתונה, זה עדיין מוציא את המשתמש מהעמוד מה גם שרוב המשתמשים פיתחו מיומנות בסגירה של חלונות קופצים. הפיתרון השני, הוא להציג את התגובות בתוך העמוד עצמו, זאת אפשר לעשות בעזרת שימוש ב [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>הפיתרון של הצגת תגובות בעזרת חלונית פופאפים הוא אומנם הפשוט ביותר כיוון שהוא פיתרון מובנה של וורדפרס, אבל לא כולם אוהבים פופאפים. בשורה התחתונה, זה עדיין מוציא את המשתמש מהעמוד מה גם שרוב המשתמשים פיתחו מיומנות בסגירה של חלונות קופצים. </p>
<p>הפיתרון השני, הוא להציג את התגובות בתוך העמוד עצמו, זאת אפשר לעשות בעזרת שימוש ב Div נסתר. עבור כל אובייקט ניתן להגדיר את המאפיין העיצובי: Display:none. המאפיין הזה אומר שאין להציג את האובייקט הרלוונטי. בצורה שכזו, ניתן לשלב תוכן בתוך הדף מבלי שהוא יוצג למשתמש (התוכן כן נטען, אבל לא מוצג). על מנת להציג את התוכן, נזדקק לג'אווה סקריפט שמשנה את מאפיין ה Display. וסוג של &quot;מתג&quot; שידליק ויכבה את האובייקט.</p>
<p><strong>הסקריפט</strong><br />
הסקריפט הוא יחסית פשוט – הוא מקבל כפרמטר את שם האובייקט, בודק מה מצב התצוגה שלו ומשנה אותו למצב ההופכי (מגלוי לנסתר ולהפך).</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;script language=<span class="st0">&quot;javascript&quot;</span>&gt; </div>
</li>
<li class="li1">
<div class="de1">&lt;!&#8211; </div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> displayDiv = <span class="st0">'none'</span>; </div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> showhide<span class="br0">&#40;</span>object_id<span class="br0">&#41;</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>displayDiv == <span class="st0">'block'</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; displayDiv = <span class="st0">'none'</span>; </div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; displayDiv = <span class="st0">'block'</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>document.<span class="me1">all</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">//IS IE 4 or 5 (or 6 beta) </span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">eval</span><span class="br0">&#40;</span> <span class="st0">&quot;document.all.&quot;</span> + object_id + <span class="st0">&quot;.style.display = displayDiv&quot;</span><span class="br0">&#41;</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>document.<span class="me1">layers</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">//IS NETSCAPE 4 or below </span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; document.<span class="me1">layers</span><span class="br0">&#91;</span>object_id<span class="br0">&#93;</span>.<span class="me1">display</span> = displayDiv; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> </div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>document.<span class="me1">getElementById</span> &amp;&amp;!document.<span class="me1">all</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hza = document.<span class="me1">getElementById</span><span class="br0">&#40;</span>object_id<span class="br0">&#41;</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hza.<span class="me1">style</span>.<span class="me1">display</span> = displayDiv; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> </div>
</li>
<li class="li2">
<div class="de2"><span class="co1">//&#8211;&gt; </span></div>
</li>
<li class="li1">
<div class="de1">&lt;/script&gt; </div>
</li>
</ol>
</div>
<p><strong>הכנסת התגובות לעמוד.</strong><br />
כדי לקרוא לתגובות של פוסט מתוך עמוד צריך לקרוא להן מתוך הלופ שמציג את הפוסט, זה נעשה בצורה הבאה:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt; ?php <span class="re0">$withcomments</span> = <span class="kw2">true</span>; comments_template<span class="br0">&#40;</span><span class="br0">&#41;</span>;?&gt;</div>
</li>
</ol>
</div>
<p>היות ומדובר בעמוד הראשי שבו לא אמורות להופיע תגובות, חובה להגדיר את המשתנה הבוליאני  withcomments ומבלעדיו התגובות לא יוצגו בעמוד הראשי.</p>
<p><strong>עטיפה</strong><br />
על מנת להפעיל אובייקט נעטוף אותו בצורה הבאה:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;div id=&quot;divName&quot; style=&quot;display: none; text-align:right&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt; ?php $withcomments = true; comments_template();?&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt; </div>
</li>
</ol>
</div>
<p>והטריגר יוטמע בצורה הבאה:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;a href=&quot;#divName&quot; onclick=&quot;showhide('divName');&quot;&gt;הצג תגובות&lt;/a&gt;</div>
</li>
</ol>
</div>
<p>השילוב הזה אמור להציג בעמוד כיתוב &quot;הצג תגובות&quot; שבאירוע לחיצה יציג / יסתיר את התגובות.<br />
איך זה עובד?<br />
האירוע onClick אומר לדפדפן מה לעשות באירוע לחיצה. הקריאה href עם שם האובייקט אומרת למעשה לעמוד לקפוץ אל האזור שבו מוצג האובייקט. את האובייקט והטריגר ניתן להעמיד בכל מקום בדף והם יוצגו בהתאם למיקום בו הם הועמדו, הם לא חייבים להיות צמודים.</p>
<p>הפונקציה שאמורה להציג את התגובות משתמשת ב  getElementById על מנת לקבל ולקבע את המאפיינים של האובייקט.<br />
עבור כל Div בעמוד ניתן להגדיר מזהה בצורה הבאה:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;div id=”thisId”&gt;&lt;/div&gt;</div>
</li>
</ol>
</div>
<p>היות ויש מספר פוסטים בעמוד עבורם רוצים להציג את התגובות חובה לייצר עבור כל אובייקט מזהה יחודי, שימוש במזהה יחיד מספר פעמים היא טעות נפוצה שלא רק מונעת ואלידציה של עמוד אלא גם יכולה לייצר בעיות בדיוק במקרים שכאלה.<br />
היות והפוסטים בוורדפרס הם בעלי מספר מזהה ייחודי, נייצר את שמות האובייקטים בעזרת מספרי הפוסטים. על מנת לעשות את זה נשתמש בפונקציה של וורדפרס שמציגה את מזהה הפוסט.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;div id=<span class="st0">&quot;comm-&lt;?php the_ID(); ?&gt;&quot;</span> style=<span class="st0">&quot;display: none; text-align:right&quot;</span>&gt; </div>
</li>
<li class="li1">
<div class="de1">&lt; ?php <span class="re0">$withcomments</span> = <span class="kw2">true</span>; comments_template<span class="br0">&#40;</span><span class="br0">&#41;</span>;?&gt; </div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt; </div>
</li>
</ol>
</div>
<p>ועל מנת לשלב בטריגר ובמעטפת:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;a href=<span class="st0">&quot;#omm-&lt;?php the_ID(); ?&gt;&quot;</span> onclick=<span class="st0">&quot;showhide('omm-&lt; ?php the_ID(); ?&gt;');&quot;</span>&gt; </div>
</li>
<li class="li1">
<div class="de1">הצג תגובות </div>
</li>
<li class="li1">
<div class="de1">&lt;/a&gt;</div>
</li>
</ol>
</div>
<p>ההשמה של הפונקציות הזו צריכה כאמור להיות בתוך הלופ של הצגת הפוסטים. </p>
<p><strong>ולסיום</strong></p>
<p>השיטה המתוארת פה מציגה במהירות ובפשטות את התגובות בעמוד הראשי, אין פה אפקטים מיוחדים (שניתן להוסיף בעזרת jQuary או scriptaculos) של גלישה והרחבה ואין פה עיצובים מתוחכמים (שגם ניתן להגדיר בעזרת קובץ ה Css). ברגע שתתבצע לחיצה על הצגת תגובות יוצגו התגובות והפוקוס יועבר אל אזור התגובות.</p>
<p>חשוב לציין – בשיטה הזו כל התגובות נטענות מראש אל תוך הדף ולכן מגדילה את נפח העמוד. אם מדובר במעט תגובות המציגות טקסט בלבד, זה אינו מהווה בעיה, אך אם מדובר בבלוג שיש לו פוסטים עם מספר רב של תגובות ובעבור כל תגובה מוצג גם ה Gravatar של המשתמש נפח העמוד עלול להיות מפלצתי וזמן הטעינה ארוך במיוחד.</p>
<p>במקרים כאלה, עדיף לעבור לשיטה הרביעית (עדיין לא פורסמה, זה יהפוך ללינקבילי ברגע שכן)</p>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for תגובות בעמוד ראשי, #2" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+תגובות+בעמוד+ראשי,+#2" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/678/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>&#8235;נשבר כבר מסקיצות&#8236;</title>		<link>http://n2b.org/archives/664</link>
		<comments>http://n2b.org/archives/664#comments</comments>
		<pubDate>Sun, 08 Jun 2008 10:51:34 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[אינטרנט]]></category>
		<category><![CDATA[סקיצות]]></category>
		<category><![CDATA[עיצוב]]></category>
		<category><![CDATA[טמפלטים]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=664</guid>
		<description><![CDATA[&#8235;37signals היא חברה המייצרת מוצרים מבוססי ווב לניהול פרוייקטים. יש להם את בייסקאמפ שהוא מוצר לשיתוף ידע, את High Rise שהיא מערכת crm פשוטה ועוד כלים שנועדו לספק לחברות קטנות אפשרויות ניהול מבוזרות. בשבוע שעבר, העלתה החברה פוסט די שנוי במחלוקת בבלוג שלה שנקרא &#8211; why we skip photoshop. למרות השם שלו, הפוסט דווקא לא [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>37signals היא חברה המייצרת מוצרים מבוססי ווב לניהול פרוייקטים. יש להם את <a href="http://www.basecamphq.com/?source=37s+home">בייסקאמפ</a>  שהוא מוצר לשיתוף ידע, את <a href="http://www.highrisehq.com/?source=37s+home">High Rise</a> שהיא מערכת crm פשוטה ועוד כלים שנועדו לספק לחברות קטנות אפשרויות  ניהול מבוזרות.</p>
<p>בשבוע שעבר, העלתה החברה פוסט די שנוי במחלוקת בבלוג שלה שנקרא &#8211; <a href="http://www.37signals.com/svn/posts/1061-why-we-skip-photoshop">why we skip photoshop</a>. למרות השם שלו, הפוסט דווקא לא מתייחס לשימוש בתוכנת הפוטושופ אלא לשימוש האינסטנסיבי בתוכנה בשלב הסקיצות או למעשה, לכל שלב הסקיצות בעצמו. </p>
<p>בצורה מפתיעה למדי, רוב זמן הפיתוח נשרף לא אצל המפתחים אלא דווקא אצל הסטודיו. שלב הסקיצות, הוא אחד השלבים הארוכים והמייגעים בכל התהליך ככל הנראה, דווקא בגלל היכולות הנרחבות של פוטושופ.<br />
במקום לייצר סקיצה בסיסית, שתהייה איזשהו סוג של קו בסיסי לתחילת עבודה, תגדיר את הגריד הכללי והתנהגות הרכיבים,  יושב המעצב הראשי וקובע את הלוק הראשי, את העיצוב של דף הבית, אלמנטים עיקריים. </p>
<p>לאחר שמתקבל עיצוב ראשי המוסכם על כולם (ונדלג פה על ישיבות הסקיצות) מתחילים לגזור מהעיצוב הראשי, את תתי העמודים וכל תת עמוד שכזה נכנס בעצמו אל טקסי ישיבות הסקיצות.</p>
<p>או אז, מגיע השלב שבו כל העמודים כבר עוצבו וצריך להתחיל לפתח את האתר. שולחים את ה PSD אל צוות הפיתוח שצריך עכשיו לשבת על העמוד, לפרק אותו למרכיביו הבסיסיים, להוציא את המפרט של כל רכיב (גובה, רוחב, צבע, גבול, וכיוצ&quot;ב) ולתרגם את זה לעיצוב Css.<br />
במילים אחרות, לאחר שהסטודיו בילה כל כך הרבה זמן עבודה בבניה, יושב המפתח ועסוק בלעשות הנדסה לאחור לקובץ העיצוב על מנת להפכו לקוד. </p>
<p>אחרי שהשלב הזה נגמר, כדור הפינג פונג חוזר אל המגיש &#8211; הסטודיו. עכשיו יושב הגרפיקאי כשמולו בחלון אחד הסקיצה ובחלון השני האתר ומתחיל להשוות. כמה פיקסלים לפה? כמה פיקסלים לכאן? מה הגוון של זה והאם האפור שבווב נראה אותו דבר כמו האפור שבסקיצה.</p>
<p>עכשיו מוחזר הכדור אל המפתח, לסשן תיקונים ולאחר מכן יוחזר למעצב לסשן בדיקות וחוזר חלילה עד שהכל נראה בדיוק אותו דבר. </p>
<p>כמות הזמן שנשרפת, כאן היא עצומה, וככל שבקודקוד מצויים יותר אנשים התהליך נעשה יותר מסורבל כי יש יותר אנשים שצריכים שישמעו את דעתם. בסופו של דבר, מוצא עצמו צוות הפיתוח קרוב לתאריך הדד ליין כשהוא עדיין בשלב הסקיצות, אפקט שמכניס בעיקר לחץ אל תוך המערכת.</p>
<p>אחת הבעיות עם פוטושופ, מציינים ב 37 אותות, היא העובדה שפוטושופ גורם לכולם להתמקד בפרטים הקטנים. האפקטים הוויזואליים שאליהם ניתן להגיע בעזרת פוטושופ גורמים לכך שהמיקום של כל פסיק הופך להיות לנושא לדיון. אומנם כל גוון וכל צבע חשוב בסופו של דבר, אבל אלו דברים שיכולים להגיע בשלב הפיניש האחרון והם פחות מהותיים בתהליך התנעת העבודה. </p>
<p><a href='http://n2b.org/wp-content/uploads/2008/06/calendars.png' rel="lightbox[664]"><img src="http://n2b.org/wp-content/uploads/2008/06/calendars-300x233.png" alt="לוח שנה" title="calendars" width="300" height="233" class="alignnone size-medium wp-image-665" /></a>ואם כבר סקיצות, יאהו מספקים <a href="http://developer.yahoo.com/ypatterns/wireframes/">חבילת טמפלטים</a> עיצוביים לעיצוב בסיסי. רכיבים כמו מיקומים לבאנרים, עיצובים לטפסים, פיסקאות, גריד לבסיס וכן הלאה. הרכיבים זמינים הן בתור png לשימוש בפוטושופ או כל תוכנת עריכה גרפית אחרת, הן בתור טמפלט ל Visio ועוד פורמטים נפוצים. השימוש בתבניות לא יהפוך את המשתמש לנוויל ברודי הבא. אבל הוא בהחלט יאפשר לו לייצר תרשים ראשוני למוצר שיהיה מספיק ברור למתכנת כדי להתחיל עבודה, בזמן שהקודקודיה מתווכחת על הפינישים הקטנים.</p>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for נשבר כבר מסקיצות" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+נשבר+כבר+מסקיצות" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/664/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&#8235;תגובות בעמוד ראשי #1&#8236;</title>		<link>http://n2b.org/archives/661</link>
		<comments>http://n2b.org/archives/661#comments</comments>
		<pubDate>Sat, 07 Jun 2008 11:38:13 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[עיצוב]]></category>
		<category><![CDATA[תגובות]]></category>
		<category><![CDATA[האקים]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=661</guid>
		<description><![CDATA[&#8235;פעם בכמה זמן יוצא לי להגיע אל בלוג חדש ובכל פעם אני מתעצבן על אותה הנקודה בדיוק. בעמוד הראשי מפורסמים הפוסטים האחרונים של הבלוג ובתחתית של כל עמוד שכזה מצוי קישור שמציג את מספר התגובות לפוסט. לחיצה על הלינק מעבירה את הקורא אל תוך עמוד הפוסט ישירות אל אזור התגובות. הבעיה מתחילה, כאשר רוצים לחזור [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>פעם בכמה זמן יוצא לי להגיע אל בלוג חדש ובכל פעם אני מתעצבן על אותה הנקודה בדיוק. בעמוד הראשי מפורסמים הפוסטים האחרונים של הבלוג ובתחתית של כל עמוד שכזה מצוי קישור שמציג את מספר התגובות לפוסט. לחיצה על הלינק מעבירה את הקורא אל תוך עמוד הפוסט ישירות אל אזור התגובות. הבעיה מתחילה, כאשר רוצים לחזור אחורה. פתאום מתברר שבכלל היה מעבר עמוד, ומי זוכר איפה בדיוק היה המיקום בדף הקודם ובכלל, כל השימושיות הזו היא מאוד לא נוחה / נכונה מבחינת ממשק משתמש. </p>
<p>בישראבלוג למשל, בתחתית של כל פוסט יש קישור לתגובות כאשר ניתן להציג אותן בתי דרכים &#8211; חלונית פופאפ קופצת או iFrame שנפתח מתחת לפוסט. כך או כך, הגולש נשאר באותו העמוד ולא נשלח לטייל ברחבי הבלוג. חשבתי שאני היחיד שזה מעצבן אותו, אבל לאחרונה גל מור שידרג את הבלוג שלו ו<a href="http://www.holesinthenet.co.il/?p=744">העלה </a>את אותה השאלה בדיוק &#8211; כיצד מאפשרים לגולש לראות את התגובות כבר בעמוד הראשי.</p>
<p>בשבועיים האחרונים אני מנסה למצוא פיתרון דומה לאותה השאלה, ניסיתי שלל איפמלמנטציות של לייטבוקסים, ג'אווה סקריפטים והתחכמויות ולבסוף מצאתי שתי דרכים שנראו לי אופטימליות. בעודי מנסה לשפר את אחת הדרכים נתקלתי בדרך השלישית שמובילה לדרך הרביעית. </p>
<p>אז איך עושים את זה? התשובה לכך, בצורה מפתיעה למדי, היא &#8211; פשוט מבקשים יפה מוורדפרס. מסתבר, שיש בוורדפרס פונקציה מובנית שתפקידה, לטפל בהצגה של תגובות בעזרת פופאפים. מדי פעם, בעודי מציץ בתיקיית הקבצים של ערכת עיצוב זו או אחרת נתקלתי לפעמים בקובץ בשם comments-popup.php שלא הצלחתי להבין כיצד משתמשים בו. מסתבר שהקובץ הזה נועד על מנת להציג את התגובות בחלונית פופאפ.<br />
בצורה מעצבנת למדי, התהליך שמתואר דווקא בפוסט הראשון בסידרה מציגה את הדרך השלישית. דרך שלו הייתי נתקל בה כבר בהתחלה היתה מקצרת מזמן את הדרך לפיתרון. </p>
<p>אז אלו הפוסטים המתוכננים בנושא, אני אהפוך אותם ללינקבילים ברגע שהם יתפרסמו.<br />
1. תגובות בעזרת פופאפ. (הפוסט הנוכחי)<br />
2. תגובות ב Div נסתר בעזרת JavaScrip &#8211; <a href="http://n2b.org/archives/678">קישור</a><br />
3. תגובות ב lightbox &#8211; שידרוג של שלב 2 בעזרת תוסף.<br />
4. Ajax? שילוב של דרגכים 1+3.</p>
<p><strong>אזהרה</strong>: השלבים הבאים דורשים התעסקות בקוד של הערכה. לא משהו מסובך יותר מהעתק והדבק אבל גם אלה, כשהם לא נעשים נכון יכולים לגרום לנזק.</p>
<p><strong>הכנת תשתית</strong><br />
למרות שמדובר בפונקציה מובנית, רוב מעצבי הערכות לא מכלילים אותה בערכה שלהם, לחילופין, הם מכניסים אותה לערכה בצורת הערה (מצב כבוי).  לצורך הפעלה של הפונקציה יש לערוך את הקובץ header.php ולחפש את הקריאה הבאה: </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt; ?php wp_head<span class="br0">&#40;</span><span class="br0">&#41;</span>; <span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>ולהוסיף ישר לפניה את השורה</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt; ?php comments_popup_script<span class="br0">&#40;</span>width,height<span class="br0">&#41;</span>; <span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>כמובן שחשוב לבדוק שקובץ ההדר אינו מכיל את השורה המדוברת. חוץ מזה, וורדפרס עצמה נוטה להכניס רווחים בתוך הטקסט כדי שזה לא יהפוך ל php תקני. לכן צריך לבדוק שמוחקים אותם (יש רווח בין ה > לסימן שאלה למשל)</p>
<p>הפונקציה הזו, מייצרת למעשה את קוד הג'אווה סקריפט הנדרש להקפצת החלון, אבל בשביל שהיא תעבוד, צריכים לקרוא לה מתוך העמוד. </p>
<p><strong>הקריאה</strong></p>
<p>כל ערכה בנויה בצורה שונה, ולכן קצת קשה לנחש איזה קובץ צריך לערוך, אם כי הכלל הוא יחסית פשוט &#8211; אם קיים קובץ home.php אז יש לערוך אותו, אם אין קובץ שכזה, יש לערוך את index.php. בתוך הקובץ יש לחפש את הקריאה לתגובות בצורה הישנה. גם כאן, בכל ערכה זה יראה שונה, אבל המבנה הכללי הוא כזה:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">comments_popup_link<span class="br0">&#40;</span><span class="st0">'zero'</span>, <span class="st0">'one'</span>, <span class="st0">'more'</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>ולהחליף אותו ב:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">comments_popup_link<span class="br0">&#40;</span><span class="st0">'zero'</span>,<span class="st0">'one'</span>,<span class="st0">'more'</span>,<span class="st0">'popupcss'</span>,<span class="st0">'none'</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>יש פה מספר פרמטרים הניתנים להתאמה.<br />
<strong>zero, one, more </strong>הן הכתוביות שיוצגו עבור אפס תגובות, תגובה אחת או מספר תגובות. ניתן להחליף בכל כיתוב אחר. על מנת להציג את מספר התגובות אפשר להשתמש ב &quot;% תגובות&quot;.<br />
<strong>popupcss</strong> &#8211; זהו שם למחלקת ה css שאחראית על עיצוב הפופאפ.<br />
<strong>none</strong> &#8211; טקסט שיוצג כאשר התגובות לפוסט נעולות (לא ניתן להגיב).<br />
שני הפרמטרים האחרונים אינם בגדר חובה וניתן להשמיט אותם.</p>
<p>שני השלבים הללו ביחד מייצרים קישור לתגובות כפופאפ. אם מדלגים על השלב הראשון, הלינקים הללו יעבדו כמו לינקים רגילים לתגובות &#8211; כלומר, יעבירו את הגולש אל איזור התגובות של הפוסט הרלוונטי.</p>
<p><strong>הצגה וליטוש</strong><br />
על מנת להציג את הפופאפ, צריכה ערכת העיצוב להכיל קובץ יעודי לחלונית הפופאפ. חלק מערכות העיצוב מגיעות עם הקובץ הנדרש ( coments-popup.php) כשהוא כבר מותאם לעיצוב. בערכות הללו לרוב אין צורך לעשות כלום והפופאפ יעבוד היטב &quot;מהקופסא&quot;. בחלק אחר מהערכות  קיים הקובץ כתורשה מערכת העיצוב המקורית שממנה נלקחו הקבצים. במקרים שכאלה יופיע הפופאפ ללא עיצוב או עם עיצוב שאינו תואם את הלוק של הבלוג. בערכות שבהן אין קובץ שכזה, המערכת שולפת את הקובץ המצוי בערכת ברירת המחדל (קובריק שבתיקיה default).<br />
אם התיקיה של העיצוב הנוכחי אינה מכילה את הקובץ המדובר, רצוי להעתיקו מתיקיית ברירת המחדל. את הקובץ החדש ניתן לערוך כך שיהיה בנוי בצורה הרצויה מבחינת סידור האובייקטים. לאחר מכן, יש לייצר את העיצוב המתאים בקובץ ה CSS של הערכה. </p>
<p>מעכשיו, כל גולש שינסה להציג את התגובות יקבל אותן בחלון פופאפ מבלי שיאבד את מיקומו בעמוד הנוכחי. החיסרון העיקרי פה מצוי בעובדה שהתוכן מוצג בחלון פופאפ. לא בדקתי מה קורה פה עם חוסמי פופאפים למיניהם, אני מקווה שהם לא יהוו בעיה.</p>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for תגובות בעמוד ראשי #1" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+תגובות+בעמוד+ראשי+#1" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/661/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>&#8235;הגודל לא קובע&#8236;</title>		<link>http://n2b.org/archives/632</link>
		<comments>http://n2b.org/archives/632#comments</comments>
		<pubDate>Tue, 06 May 2008 15:02:44 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[אינטרנט]]></category>
		<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[ערכות עיצוב]]></category>
		<category><![CDATA[עיצוב]]></category>
		<category><![CDATA[רוחב]]></category>
		<category><![CDATA[מידות]]></category>
		<category><![CDATA[יחסי]]></category>

		<guid isPermaLink="false">http://n2b.org/archives/632</guid>
		<description><![CDATA[&#8235;לפני זמן לא רב, מת מסך ה LCD הוותיק שלי והוא בן שלוש שנים וחודש. בדיוק חודש לאחר פקיעת האחריות בת שלוש השנים הוא החזיר את פיקסליו למקום שבו נחים הפיקסלים השרופים. אלפיה שהונחה אצל הקופאית ברשת שופרסל דיל זיכתה אותי במסך Benq חדש בעל מסך רחב ואלכסון של 20". 1680 פיקסלים לרוחב, 1050 פיקסלים [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>לפני זמן לא רב, מת מסך ה LCD הוותיק שלי והוא בן שלוש שנים וחודש. בדיוק חודש לאחר פקיעת האחריות בת שלוש השנים הוא החזיר את פיקסליו למקום שבו נחים הפיקסלים השרופים. אלפיה שהונחה אצל הקופאית ברשת שופרסל דיל זיכתה אותי במסך Benq חדש בעל מסך רחב ואלכסון של 20". 1680 פיקסלים לרוחב, 1050 פיקסלים לגובה זו הגדרת הרזולוציה שלי וכאן בדיוק מתחילה הבעיה או הדילמה.<br />
רוחבו של העיצוב הנוכחי שלי הוא 780 פיקסלים ורוחבה של עמודת הטקסט עצמה הוא כמעט 500 פיקסלים ובמסך ברזולוציה של 800 פיקסלים לרוחב זה יושב בול. מצד שני, הפעם האחרונה שהשתמשתי ברזולוציה של 800&#215;600 זה היה כשניסיתי לשחזר מחשב ישן בעזרת מסך 14 אינט'ש ישן שמצאתי במחסן. עם זאת, הגוגל אנליטיקס מתעקש (עד כמה שניתן להאמין לו) שלכ 7% מהמבקרים בבלוג אכן יש רזולוצית מסך של 800X600. על להגדיל חשבתי כבר בעבר אבל כשעבדתי על 17" השתמשתי ברזולוציה של 1280X1024 שגם אם היא משמשת כ 22% ממבקרי הבלוג עדיין היא לא רזולוציה טבעית. רוב המשתמשים מעדיפים, כך נראה, רזולוציה של 1024X800 וזה רק מגדיל את הדילמה.</p>
<p>עיצוב בעזרת CSS מאפשר שני סוגים עיקריים של עיצוב &#8211; קבוע ויחסי. עבור כל אובייקט שמקבל גדלים כפרמטר ניתן להשתמש בשני סימונים עיקריים &#8211; px (מייצג פיקסלים) או % (אחוזים). כך למשל, אם נרצה להגדיר תיבה שהרוחב שלה הוא 20 פיקסלים נשתמש בהגדרה: width: 20px.<br />
הרעיון מאחורי העיצוב הקבוע אומר שהמעצב מגדיר מידות אחידות עבור כל רכיב באתר וככה הוא יוצג בכל הדפדפנים (ונניח לתאימות קוד ושונות דפדפנים בצד כרגע). זה מאפשר לבעל האתר לדאוג שהאתר שלו יראה זהה הן ברזולוציות נמוכות והן ברזולוציות גבוהות. אבל, על נוחות וודאות צריך לשלם וזה קורה בעיצוב קבוע בכמה נקודות:<br />
<strong>א. הביזבוז.</strong><br />
אם האתר נבנה עבור רוחב של 800 פיקסלים, הרי שברוחב של 1280 פיקסלים יש כ 480 פיקסלים &quot;מבוזבזים&quot; במקרה הטוב זה יציג שוליים, במקרה הרע זה ימרח את הטמפלט בצורה מזוויעה. השימוש בבר צידי ושאר ריווחים גוזרים גם הם קופון נאה מהרוחב הכללי ולבסוף נשארים כאמור עם פחות מ 500 פיקסלים עבור הכתיבה. (שזה לא חריג. נענע משתמשים ב 500 , ynet בכ 430  ו NRG בכ 450).<br />
<strong>ב. גמישות</strong><br />
השימוש ב Float על מנת לייצר שני אובייקטים זה לצד זה הוא נפוץ למדי. הבעיה היא, שאובייקט Float שמוגדר בגודל קבוע לא מסוגל להצטמצם. במילים אחרות, עיצוב שהותאם ל 1024 ישבר לחלוטין ב 800, אם כי אפשר לרתום את התכונה הזו על מנת לייצר אתר שמתאים לשני הרוחבים. מי שניסה לכווץ פעם חלון בוודאי ראה כיצד האובייקטים נדחסים עד השלב שבו הם מתחילים &quot;ליפול&quot; מהסדר שלהם.</p>
<p>העיצוב היחסי הוא הרבה יותר גמיש בעבור שתי הבעיות הללו. בשיטת העיצוב הזו מגדירים את רוחב כל תיבה ביחס למאת האחוזים המרכיבים את התיבה המכילה אותה. כך למשל, אם נגדיר את רוחב התיבה הראשית של הבלוג כ 90%, הרי שברוחב מסך של 800 פיקסלים נקבל עמודה בת  720 פיקסלים ואילו ברוחב של 1280 נקבל עמודה בת 1152 פיקסלים. בשני המקרים יתקבלו שוליים מינימליים (10% מרוחב המסך במקרה הלז) ויותר אזור יהיה זמין עבור התוכן. ככל שרוחב המסך יגדל ניתן יהיה לפרוס את הבלוג בצורה נוחה יותר, מרווחת  יותר ומכאן שגם קריאה יותר. גם במקרה של הקטנת חלון או שינוי רזולוציה האובייקטים תמיד יסתדרו בגודל המתאים וישארו באותה הפרופורציה כך ששינוי גודל המסך לא ישנה את הסידור של האתר אלא רק את כמות התוכן המוצגת.<br />
אבל, כמו בשיטה הקודמת, גם כאן יש מחירים<br />
<strong>א. תמונות</strong><br />
בעיצוב הנוכחי, התמונות שלי הן אובייקט Float ברוחב 200 פיקסלים עם הצמדה לצד שמאל. זה מאפשר להכניס תמונות קטנות בצד של הפוסט וזה לא רע בכלל רוב הזמן, אבל לפעמים רוצים להכניס צילום מסך של אתר כזה או אחר צריך להקטין תמונה מ 800 פיקסלים ל 200 פיקסלים &#8211; מדובר פה בכיווץ לרבע מהגודל ובתהליך הזה הרבה מאוד פרטים הולכים לאיבוד. ואז חשבתי על האפשרות של תמונה לרוחב הפוסט (רוחב מלא, של כל עמודת הטקסט) אבל לבצע דבר שכזה בעיצוב יחסי זו משימה מאוד בעייתית. אם מגדירים את רוחב התמונה כ 100% הרי שעבור מסכים רחבים במיוחד התמונה תעבור תהליך מתיחה שיפגע בה, אם משתמשים בתמונה ברוחב מקסימלי, הרי שברוחב המינימלי התמונה תידחס ושוב תאבד מאיכותה, שלא לדבר על המשקלים של תמונות גדולות. האפשרות החלופית היא להשתמש בהגדרת רוחב קבועה, אז אומנם יודעים בדיוק מה יהיה רוחב התמונה אבל מצד שני כאן אפשר לפספס בשני הכיוונים &#8211; תמונה שגולשת מהשוליים או לחילופין כזו שיושבת באמצע הפוסט עם שוליים רחבים בכל צד &#8211; תקועה שכזו. אפשר אומנם לאלתר בעזרת פרמטרים כגון max-width ו min-width שיכולים להכריח רוחב מקסימלי ומינימלי, אבל זה עדיין מכוער. יתר על כן, בלוגים שיש להם גרפיקה בהדר עלולים להסתבך עוד יותר בגלל העיוות של המתיחה או הכיווץ.</p>
<p><strong>ב. חישובים</strong><br />
אם רוחב המסך הוא 100% והתיבה הראשית היא 98% ובתוכה יש שלוש עמודות שכל אחת ברוחב של 32% עם ריווח של 1% מכל צד של כל עמודה, מה יהיה רוחב העמודה ברוחב מסך של 1280 פיקסלים? מה יהיה הסידור האופטימלי לחמש עמודות ברוחב שווה? או לארבע עמודות כאשר האמצעית רחבה פי 2 משלושת העמודות האחרות? בקיצור, אם בעיצוב הקבוע צריך לעבוד עם סרגל, הרי שבעיצוב היחסי צריך לעבוד עם מחשבון. זה עוד יחסית פשוט כאשר מייצרים ערכת עיצוב חדשה, אבל מה עושים כאשר מנסים לתרגם ערכת עיצוב מאנגלית תוך כדי החלפת סדר העמודות? בקיצור, עיצוב יחסי הוא כאב ראש בתחום הזה שכן הוא דורש מעקב צפוף לכל אורך ה CSS. שינוי הכי קטן במרכיב אחד מבלי לטפל במרכיבים הצמודים לו יכול להרוס את כל העיצוב.</p>
<p>אז הנה הדילמה, אני עובד עכשיו על עיצוב חדש ואני שובר את הראש בשאלות הללו כבר כמה ימים. בינתיים, החלטתי ללכת על עיצוב יחסי ונכון לעכשיו כל החישובים מסתכמים ב 100% או טיפה פחות. את המינגוויי המשופצת זנחתי, אני רק מקווה שאת זו אני ספיק לסיים&#8230; מתישהו.</p>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for הגודל לא קובע" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+הגודל+לא+קובע" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/632/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>&#8235;קצת על CSS&#8236;</title>		<link>http://n2b.org/archives/510</link>
		<comments>http://n2b.org/archives/510#comments</comments>
		<pubDate>Mon, 03 Dec 2007 21:00:15 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[עיצוב]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=510</guid>
		<description><![CDATA[&#8235;הפוסט הלז, לא מתייחס ישירות לעבודה על וורדפרס אלא הוא בעיקר בהקשר של עיצוב בעזרת css. החשיבות שלו טמונה באפשרות לשדרג את הבוקסה הפשוטה מהפוסט הקודם &#8211; לתבנית שלמה ומעוצבת היטב כפי שאדגים בפוסטים הבאים. מאז שהכרתי את וורדפרס יצא לי לעבור לא מעט על קבצי css, בעיקר עבור תבניות שתרגמתי (ותמיד זנחתי ברגע האחרון) [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>הפוסט הלז, לא מתייחס ישירות לעבודה על וורדפרס אלא הוא בעיקר בהקשר של עיצוב בעזרת css. החשיבות שלו טמונה באפשרות לשדרג את הבוקסה הפשוטה מהפוסט הקודם &#8211; לתבנית שלמה ומעוצבת היטב כפי שאדגים בפוסטים הבאים.</p>
<p>מאז שהכרתי את וורדפרס יצא לי לעבור לא מעט על קבצי css, בעיקר עבור תבניות שתרגמתי (ותמיד זנחתי ברגע האחרון) אבל גם סתם ככה, בשביל עמוד כזה או אחר פה ושם. למרות שבעיקרון יש תקן מאוד ברור לעבודה עם css וניתן לבדוק וואלידציה של קובץ שכזה, בפועל, מדובר בעסק די מבולגן. ההבדל יכול לנוע פשוט בצורת הכתיבה (יש כאלה שמעדיפים הכל בשורה אחת, יש כאלה שמעדיפים מבנה מוזח), אבל בעיקר מתמקד בהתיחסויות לאובייקטים השונים ברמות השונות. כאמור, מי שניסה בוודאי שם לב לכך, למצוא את הידיים והרגליים בקוד css שמישהו אחר כתב יכול להיות כאב ראש רציני.</p>
<p>למרות שיש כמה וכמה אתרים שיתנו אשף לבניית תבנית וורדפרס, אישית אני לא מכיר תוכנה נוחה לעבודה עם css (יש עורך בוויז'ואל סטודיו &#8211; כאב ראש בפני עצמו לדעתי). הייתי שמח אם הייתה תוכנה שמאפשרת ליצור את העיצוב בממשק גרפי ולבסוף לקבל פלט סטנדרטי, לצערי זה ככל הנראה לא יקרה בקרוב (ואם אני טועה, בבקשה תתקנו אותי &#8211; שמות ולינקים זה יהיה נפלא).</p>
<p>ואחרי כל הפתיח הארוך הזה &#8211; אובייקטים ב css &#8211; התכלס, ברשותכם אשתמש בשמות הלועזיים של חלק מהדברים, למי שיש רעיונות לתרגום סביר מוזמן להציע.</p>
<p><strong>הבורר הפשוט &#8211; selector</strong></p>
<p>למעשה, כל תגית html יכולה לקבל הגדרות עיצוב בקובץ ה CSS. כך למשל, אם נרצה להגדיר עבור פיסקה צבע טקסט אדום נשתמש ב:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">p <span class="br0">&#123;</span>color<span class="re2">:red</span>;<span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>התוצאה &#8211; כל מקטע טקסט שיעטף בתגית הפיסקה ייצבע ישירות בצבע אדום.</p>
<p><strong>בורר המחלקה &#8211; class selector</strong></p>
<p>בורר המחלקה מסומן בקוד ה CSS בעזרת תו הנקודה (.) והוא מאפשר ליצור מחלקות חדשות ולשרשר אותן למחלקות קיימות. </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">CODE<span class="re1">.text</span> <span class="br0">&#123;</span>color<span class="re2">:blue</span>;<span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>יאפשר לנו להעניק לטקסט באובייקט קוד את הצבע הכחול כך:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;code class=&quot;text&quot;&gt;The Code&lt;/code&gt;</div>
</li>
</ol>
</div>
<p>לחילופין, ניתן להשתמש בבורר המחלקה ללא הצמדתו לאובייקט. כך, העיצוב שלו יהיה נגיש לכל האובייקטים בדף. כך את:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.stam</span> <span class="br0">&#123;</span>color<span class="re2">:green</span><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>ניתן להפעיל בצורות הבאות (ועוד רבות אחרות):</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;p class=&quot;stam&quot;&gt;hello world&lt;/p&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;code class=&quot;stam&quot;&gt;hello world&lt;/code&gt;</div>
</li>
</ol>
</div>
<p><strong>בורר האובייקטים &#8211; ID Selectors</strong></p>
<p>בעזרת CSS ניתן להגדיר למעשה אובייקטים שלמים בדף. הגדרת האובייקטים נעשית באמצעות סימן ה # לפני האובייקט והיא יוצרת אובייקט יחיד שכזה. אובייקט לא ניתן לשרשר לאובייקטים אחרים אלא הוא עומד בפני עצמו. לעומת זאת, ניתן לשרשר לאובייקט בוררי מחלקות וכמובן בוררים רגילים. </p>
<p>כך למשל, הגדרתי את אובייקט התפריט בעמוד בהסבר על <a href="http://n2b.org/?p=503">בר ניווט עליון</a>. </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">#menu</span> <span class="br0">&#123;</span> &nbsp;<span class="kw1">float</span>: <span class="kw1">right</span>; <span class="kw1">width</span>: <span class="re3">700px</span>; <span class="kw1">margin</span>: <span class="nu0">0</span> <span class="re3">9px</span> <span class="nu0">0</span> <span class="nu0">0</span>; <span class="kw1">overflow</span>: <span class="kw2">hidden</span>; <span class="kw1">background</span>: <span class="re0">#73a0c5</span>; <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>על מנת לקרוא לעיצוב של אובייקט, נשתמש ב ID= במקום ב class= כך:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;ul id=&quot;menu&quot;&gt;&lt;/ul&gt;</div>
</li>
</ol>
</div>
<p>למרות שלא יכולתי לשרשר את העיצוב של menu לשום אובייקט אחר, כן יכולתי לשלוט בהתנהגות האובייקטים של menu עצמו. במקרה הזה השתמשתי בבוררים פשוטים בלבד אך ניתן להשתמש גם בבוררי מחלקה.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">#menu</span> ul <span class="br0">&#123;</span> <span class="kw1">list-style</span>: <span class="kw2">none</span>; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">#menu</span> li <span class="br0">&#123;</span> <span class="kw1">float</span>: <span class="kw1">right</span>; <span class="kw1">list-style</span>: <span class="kw2">none</span>; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">#menu</span> a <span class="br0">&#123;</span> <span class="kw1">float</span>: <span class="kw2">none</span>; &nbsp;<span class="kw1">color</span>: <span class="re0">#E5A153</span>; &nbsp; <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>התוצאה היא, שבמקום שבו קראתי לתפריט, הגדרתי מראש את ההתנהגות העיצובית של כל האובייקטים הכלולים בו ולמעשה פישטתי לעצמי את הקוד בכך שחסכתי הכנסה של עיצוב מיחוד בגוף הקוד עצמו. </p>
<p><strong>בורר תלוי הקשר</strong><br />
לינק בדף html מיוצג בקוד ה css בעזרת הסימון a (הלינק תחום בתגית a למעשה). אבל ללינק, יש מספר מצבים. בעזרת הבורר תלוי ההקשר (מסומן בעזרת נקודותיים) ניתן להגדיר התנהגות שונה לכל אחת מההתנהגויות של האובייקט.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">a <span class="br0">&#123;</span>color<span class="re2">:blue</span>;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">a<span class="re2">:hover</span> <span class="br0">&#123;</span>color<span class="re2">:red</span>;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">a<span class="re2">:visited</span> <span class="br0">&#123;</span>color<span class="re2">:purple</span>;<span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>בדוגמה לעיל, הגדרתי את הצבע של הלינק ככחול, אבל גם הגדרתי שבמעבר עכבר (hover) צבע הלינק ישתנה לאדום ושאם מדובר בלינק שכבר ביקרתי בו בעבר, הצבע שלו יהיה סגול. </p>
<p><strong>תורשה</strong></p>
<p>אחד היתרונות הגדולים בעיצוב בעזרת css היא היכולת להשתמש בתורשה. אחת הדוגמאות הטובות ביותר לכך היא ערכת העיצוב sandbox שמכילה מספר קבצי css שביחד מרכיבים את העיצוב הכולל. התורשה מצייתת לשני כללים די בסיסיים:<br />
<strong>1. האחרון קובע</strong> &#8211; אם עיצבנו את אותו האובייקט מספר פעמים הפעם האחרונה שנגענו בעיצוב היא הקובעת. כך למשל, אם הגדרנו עיצוב פיסקה בקובץ ה css אבל גם הכנסנו עיצוב ספציפי לפיסקה בתוך ה html, הרי שהעיצוב האחרון שיתפוס הוא העיצוב בתוך ה html.<br />
<strong><br />
2. אבות אכלו בוסר &#8211; </strong> הכלל הזה אומר שכל אובייקט יורש את העיצוב שלו מהרמה שמעליו אלא אם הוגדר לו עיצוב פרטני. כך למשל, אם בדוגמה הקודמת של עיצוב הלינק לא הייתי מגדיר את a:hover ו a:visited הרי שהם היו מתנהגים בדיוק כמו a ומציגים טקסט כחול, טעות שעשיתי בעצמי מספר פעמים ולא ממש הבנתי מדוע הלינק לא מתנהג אחרת. </p>
<p>כאמור, זה בקצרה על עיצוב בעזרת css, יש עוד דוגמאות רבות ורזולוציות קטנות שאפשר להיכנס לתוכן ונמנעתי היות והן לא ממש רלוונטיות עבור הדוגמאות הבאות שלי.<br />
מי שרוצה ללמוד יותר מוזמן לקרוא את המדריך ב<a href="http://developer.mozilla.org/en/docs/Writing_Efficient_CSS">קבוצת הפיתוח</a> של מוזילה, או ב <a href="http://htmlhelp.com/reference/css/structure.html">htmlHelp</a> שני מדריכים מעולים שהיוו את הבסיס למה שכתוב בפוסט הזה. ודי עשו לי סדר בהרבה שאלות פתוחות ואני מקווה שגם לאחרים.</p>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for קצת על CSS" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+קצת+על+CSS" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/510/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8235;בוקסות &#8211; אירגון המידע בדף&#8236;</title>		<link>http://n2b.org/archives/506</link>
		<comments>http://n2b.org/archives/506#comments</comments>
		<pubDate>Mon, 26 Nov 2007 20:02:50 +0000</pubDate>
		<dc:creator>&#8235;~ניצן~&#8236;</dc:creator>				<category><![CDATA[וורדפרס]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[עיצוב]]></category>

		<guid isPermaLink="false">http://n2b.org/?p=506</guid>
		<description><![CDATA[&#8235;התמיכה בבוקסות היא משהו שדווקא אינו מובנה בתוך וורדפרס ודווקא מצריך עבודה ניכרת. רמת הבוקסות יכולה לנוע מטמפלטים בסיסיים ביותר (מסגרת מסביב לפוסט למשל, או שני פוסטים אחד לצד השני) ויכולים להסתיים בטמפלטים מורכבים כפי שניתן לראות בשלל אתרי האינטרנט. ההגבלה היחידה למורכבות היא הנכונות של היוצר לשבת ולקודד את הפונקציות הרלוונטיות. * הערה: ברוורדפרס [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>התמיכה בבוקסות היא משהו שדווקא אינו מובנה בתוך וורדפרס ודווקא מצריך עבודה ניכרת. רמת הבוקסות יכולה לנוע מטמפלטים בסיסיים ביותר (מסגרת מסביב לפוסט למשל, או שני פוסטים אחד לצד השני) ויכולים להסתיים בטמפלטים מורכבים כפי שניתן לראות בשלל אתרי האינטרנט. ההגבלה היחידה למורכבות היא הנכונות של היוצר לשבת ולקודד את הפונקציות הרלוונטיות. </p>
<p><strong>* הערה: </strong>ברוורדפרס מתייחסים לטמפלט כאל כל ה&quot;סקין&quot; או הערכת עיצוב, אני די רגיל לכנות במילה טמפלט דווקא את אותן הבוקסות שמוצבות בתוך העמודים באתרים. זה יצר פה התנגשויות קלות בזמן הכתיבה, ברוב המקומות כתבתי טמפלטים מתוך הרגל, אבל הכוונה היא ל&quot;בוקסות תוכן&quot;. </p>
<p>לצורך יצירת הטמפלטים נצטרך לעדכן גם את קובץ העיצוב (style.css) וגם ליצור את הטמפלטים. במצב הטבעי, וורדפרס מציגה את כל הפוסטים בתוך ה loop כאשר היא קוראת להם אחד אחרי השני ומציגה אותם לפי הסדר – כל אחד כפוסט בפני עצמו. הדרך הפשוטה היא לערוך את השורות בתוך ה loop עצמו ולהחיל ידנית את העיצוב. </p>
<p><strong>הטמפלט הבסיסי – תיבה מסביב לפוסט. </strong><br />
בטמפלט הזה, אין שום שינוי חוץ מכך שמסביב לפוסט תופיע תיבה. לצורך כך, נוסיף בקובץ העיצוב את השורות הבאות:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.buxa</span><span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">float</span>: <span class="kw1">right</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">margin</span>: <span class="re3">5px</span> ; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">padding</span>: <span class="nu0">0</span> <span class="re3">5px</span>; </div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">width</span>: <span class="re3"><span class="nu0">100</span>%</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">border</span>: <span class="re3">1px</span> <span class="kw2">solid</span> <span class="kw2">green</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">background</span>: <span class="re0">#eeeeee</span>; </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>על מנת להחיל את העיצוב הלז על פוסט, עלינו לקרוא לו בכך שנעטוף את הפוסט בתגיות המתאימות:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;div class=&quot;buxa&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">The Post
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt; </div>
</li>
</ol>
</div>
<p>התוצאה – כל פוסט יוקף בתיבה אפורה בעלת מסגרת ירוקה ברוחב של 100% מהעמודה. היתרון בשימוש באחוזים, מתבטא בקלות ההתאמה של טמפלטים בין ערכות עיצוב. בין אם מדובר בעמודה ברוחב של 450 פיקסלים או של 600 &#8211; אין צורך לבצע התאמה נוספת.</p>
<p><a href="http://n2b.org/wp-content/uploads/2007/11/big.png" rel="lightbox[506]"><img src="http://n2b.org/wp-content/uploads/2007/11/small.png" alt="לחצו להגדלה" /></a><strong>הטמפלט הבסיסי – שלישיות.</strong></p>
<p>הטמפלט הבסיסי הוא אומנם אפשרי, אבל אין בו כל ייחוד והוא לא שונה למעשה ממה שניתן לעשות באמצעות עיצוב של תג ה post בתוך ה css. הדוגמא הבאה, תדגים מבנה של שלישיות בהן הלופ אוסף 3 פוסטים ומציג אותם בשורה אחת. לאחר מכן הוא יורד שורה ופותח שורת שלישיות חדשה. </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.tripel</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">float</span>: <span class="kw1">right</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">margin</span>: <span class="re3">5px</span> <span class="re3">5px</span> <span class="re3">0px</span> <span class="nu0">0</span> ; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">padding</span>: &nbsp;<span class="nu0">0</span> <span class="re3">2px</span> ; </div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">width</span>: <span class="re3"><span class="nu0">30</span>%</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">height</span>: <span class="re3">200px</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">border</span>: <span class="re3">1px</span> <span class="kw2">solid</span> <span class="kw2">green</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">background</span>: <span class="re0">#eeeeee</span>; </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>בדומה לטמפלט הבסיסי, גם כאן נעטוף את הקריאה לפוסט בתגיות המתאימות:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;div class=”tripel”&gt;
</div>
</li>
<li class="li1">
<div class="de1">the post
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;</div>
</li>
</ol>
</div>
<p>והתוצאה – שורה המכילה שלושה פוסטים, כל פוסט בתוך תיבה אפורה מוקפת במסגרת ירוקה עם ריווח של 5 פיקסלים בין תיבה לתיבה ובין שורה לשורה. </p>
<p><strong>* הערה לסיום:</strong> יש לי כבר ערכת עיצוב מוכנה למדי לדמו, קיוויתי להעלות את הבלוג הדגמה כבר היום אבל בגלל פערי עדכון של שרתי DNS ושאר מרעין בישין &#8211; זה עדיין לא מוכן ויעלה ככל הנראה רק מחר. אני מזהיר מראש שזה נראה מכוער לחלוטין, בחרתי שם צבעים מזעזעים רק כי זה מקל על העבודה ועל ההסברים בקבצים וגם הניראות הרבה יותר בולטת. כאמור &#8211; בתקווה שמחר.</p>
<div id="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="nitzan@n2b.org" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Nitzan Brumer for בוקסות - אירגון המידע בדף" /><input type="hidden" name="currency_code" value="ILS" /><input type="hidden" name="amount" value="" /><input type="image" src="http://n2b.org/wp-content/plugins/buy-me-beer/icon_cafe.png" align="right" style="padding-left:10px;" alt="Buy me a coffee plase" title="Buy me a coffee plase" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=nitzan@n2b.org&amp;currency_code=ILS&amp;amount=&amp;return=&amp;item_name=Nitzan+Brumer+for+בוקסות+-+אירגון+המידע+בדף" target="paypal">פוסטים טובים נכתבים עם שחר, כתיבה עם שחר מצריכה כוס קפה טובה. אפשר להסתכל על זה כהשקעה או כאמירת תודה. בבית הקפה פה ליד מוכרים כוס קפה ב 12 שקלים, או קפה ומאפה ב 21 שקלים. </a></div></div>]]></content:encoded>			<wfw:commentRss>http://n2b.org/archives/506/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
