rezaonline

نظر سنجی در مورد بخش قالب/تمپلیت یک CMS فرضی

4 پست در این موضوع قرار دارد

سلام دوستان .

شمایی که به هر دلیل این تاپیک رو میخونید و شاید اطلاعاتی دارید ، لطفاً فارغ از نظرسنجی که عنوان شده ، مبحثی را عنوان نکنید .

با عرض پوزش

نوع ساختار تمپلیت/قالب/پوسته در سیستم های مختلف به شیوه های مختلف هست ، هر شیوه ای مزیت ها و سختی های خودش رو داره ، لذا تصمیم گرفتم تحت عنوان یک نظر سنجی ، کاربرپسند بودن ترین نوع تمپلیت رو مشخص کنم .

لطفاً اگر ایده ای ،نظری در این رابطه دارید در همین تاپیک عنوان کنید و از بحث های حاشیه ای پرهیز کنید .

1. پوزیشن بندی تمپلیت

در فایل تمپلیت موقعیت هایی در نظر گرفته میشود که در داخل سیستم این موقعیت ها قابل تعریف و تغییر هست .

مثل سیستمهایی چون جوملا ، نیوک ، جاوز ...

این نوع تمپلیت ، نیازمند کدنویسی یکباره لایوت اصلی و کد نویسی بخشها/ماژولها بصورت جداگانه است .

همچنین نیازمند پیاده سازی هسته پیچیده سیستم میشود

درنهایت ، کاربر نهایی/مشتری میتواند به راحتی در خود سیستم موقعیت ها را تغییر دهد و این خوش آیند هست

اما طراح و برنامه نویس ، کار بیشتری باید انجام بدن ;)

یک مثال :


<html>
<head>
<title> site title</title>
</head>

<body>

<div id=post>
<?php the::app()->set_position('post') ; ?>
</div>

<div id=sidebar>
<?php the::app()->set_position('archive') ; ?>
</div>

<div id=sidebar>
<?php the::app()->set_position('footer') ; ?>
</div>


</body>
</html>

2. phpبیس بودن تمپلیت

در این شیوه تمپلیت سایت شامل فایلهای هدر ، فوتر و ... خواهد بود که در تمامی اونها با استفاده از حلقه های پی اچ پی محتوا نشان داده خواهد شد . وردپرس یک مثال خوب :)

این نوع تمپلیت نیازمند کد نویسی چند باره بخش های سیستم هست همچنین طراح باید به خوبی با دستورات پی اچ پی بتواند کار کند .

در نهایت تمپلیت انعطاف خوبی خواهد داشت و دست طراح باز است اما کاربرنهایی/مشتری برای تغییر در تمپلیت باید فایل ها را ویرایش کند که خوش آیند نیست .

این شیوه تمپلیت بندی ، پیاده سازی ساده ای از نظر سیستم دارد و سرعت خوبی به سیستم میدهد .

اکثر فریم ورک های معروف در ویو/ view چنین نمایشی را ارائه میدهند .

یک مثال


<html>
<head>
<title> <?php echo the::app()->site_title; ?></title>
</head>

<body>

<div id=post>
<?php $posts = the::app()->get_post ;
foreach($posts as $post):
?>
<h1><?php echo $post->title ?></h1>
<p>
<?php echo $post->content ; ?>
</p>
<?php endforeach; ?>
</div>

<div id=sidebar>
<?php $archives = the::app()->get_archive ; ?>
<?php foreach($archives as $archive) : ?>

<a href='<?php echo $archive->link ; ?>'><?php $archive->name ?></a>

<?php endforeach;?>
</div>

<div id=sidebar>
<?php echo the::app()->footer ; ?>
</div>


</body>
</html>

3. استفاده از تمپلیت انجین ها

در این شیوه از علائمی در فایل تمپلیت استفاده میشود که طی چند مرحله نتیجه نهایی نشان داده میشود ، مثال خوبی از این شیوه دیتالایف هست . یا حتی سیستم های وبلاگ دهی

کد نویسی تمپلیت چنین سیستمهایی نیازمند رعایت چند نکته و اصول تعریف شده هست و هیچ نیازی به دانش پی اچ پی نیست .

مزیت خوب این سیستم ، کد نویسی کمتر در بخش تمپلیت و ارائه تمیزتر دستورات هست .

در این شیوه ، سرعت سیستم تا حدودی کم میشود ، قدرت انعطاف کمی هم دارد اما طراح راحتتر است .

در این شیوه کاربرنهایی/مشتری راحتتر میتواند در محتوای تمپلیت تغییر ایجاد کنید .

یک مثال


<html>
<head>
<title> {site_title}</title>
</head>

<body>

<div id=post>
[posts]
<h1>{title}</h1>
<p>
{content}
</p>
[/post]
</div>

<div id=sidebar>
[archives]
<a href='{link}'>{name}</a>
[/archives]
</div>

<div id=sidebar>
{footer}
</div>


</body>
</html>

--------------------------

با تشکر از وقتی که گذاشتید ، ممنون میشم نظر شما رو در این مورد بدونم .

اگر ایده ای دارید (مرتبط با موضوع) لطفاً عنوان کنید .

ممنون

5

به اشتراک گذاری این پست


لینک به پست

سلام

بنظر من شیوه اول و دوم کاربر و طراح پوسته رو کمی سردرگم میکنه.

از نظر کدخوانی و راحتی مسلما شیوه سومین بهترین و خواناترین هست. هم برای کاربر و هم برای طراح پوسته.

بنظر من : اگر سیستم کاربر محور هست، شیوه سوم، اگر قرار هست به هر دو طرف کاربر-طراح و دولوپر توجه بشه، شیوه دوم.

3

به اشتراک گذاری این پست


لینک به پست

من هم روش سوم رو میپسندم ولی سرعت سیستم تا حدودی کم میشود ! تمپلیت انجین ها مثل اسمارتی فک میکنم سرعت سیستم رو کم میکنند علاوه بر قدرتی که دارند ولی باز با این حال مسلط بودن به شی گرایی و نوشتن تمپلیت انجین توسط خود برنامه نویس میتونه به این مورد هم کمک کنه . :)

2

به اشتراک گذاری این پست


لینک به پست

تشکر از دوستان .

نظر خودم روی دومی هست .

باز هم اگه نظری دارید لطف کنید .

ممنون

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری