بهترین روش برای درج ادامه مطالب

foranyone

Well-Known Member
با سلام خدمت دوستان عزیز :

به نظرتون برای درج ادامه مطلب برای اخبار سایت بهتره شبیه اکثر سیستم ها 2 تا textarea گذاشته شه

یه خودمون قسمتی از string رو نشون بدیم و بقیه رو لینک بدیم به ادامه مطلب؟!

ممنون میشم هم فکری کنید.
 

justpersian

Member
روش اول که توصیه نمیشه
البته از لحاظ کلاس کاری می گم !
اما روشی که من خودم هم استفاده می کنم اینه
مطلبت را به استفاده از یک جدا کننده که خودت تعریف می کنی چی هست به دو قسمت تبدیل کن که قسمت اول میشه متن نا تمام قسمت دوم هم میشه متن کامل !
مثلا متنت به صورت زیر باشه :
کد:
متن اول
[ادامه مطلب]
متن دوم یا ادامه مطلب
تو کد بالا [ادامه مطلب] همون جدا کننده هست !
که حالا به وسیله explode می تونی متن اول و دوم رو تجزیه کنی و متن اول رو تو صفحه اول خبر و متن دوم رو تو ادامه مطلب نشون بدی !
این روش روشی هست مثله وردپرس
اینطوری دیگه نمی خواد یک فیلد جدید هم به دیتابیست اضافه کنی و همه کارها تو یک فیلد انجام میشه !
موفق باشی
 

imanmir

Member
با سلام

من از روش برش متن به اندازه 200 کاراکتر استفاده می کنم تاادامه خبر که زد همه رو نشون بده
 

imanmir

Member
روشی دیگر

با سلام درسته می فرمایید بنده همین مشکل رو داشتم که اومد دو فیلدmemonews, shortnews تو دیتابیس تعریف کردم بعد به کاربر دو بخش به اخبار کامل و مختصری از خبر که بسیار کارآمد بود و اگه هم تصویر لازم داشت یک brower داشت که عکس مورد نظر را در جای مناسب نمایش می داد مانند:http://www.farzbro-school.ir مرسی
 

justpersian

Member
با سلام درسته می فرمایید بنده همین مشکل رو داشتم که اومد دو فیلدmemonews, shortnews تو دیتابیس تعریف کردم بعد به کاربر دو بخش به اخبار کامل و مختصری از خبر که بسیار کارآمد بود و اگه هم تصویر لازم داشت یک brower داشت که عکس مورد نظر را در جای مناسب نمایش می داد مانند:http://www.farzbro-school.ir مرسی
تا وقتی میشه از یک فیلد برای متن اول و ادامه مطلب استفاده کرد چرا 2 تا ؟
اینطوری دیگه مشکل تگ های html هم نیست و اگه طرف از ادیتور هم استفاده کنه می تونه 100 تا عکس هم بدون مشکلی بذاره !
 

foranyone

Well-Known Member
دوستان خیلی ممنون !

فقط این جدا کننده رو چه طوری اضافه کنیم ؟

منظورم اینه که یه دکمه بذارم که از هر جایی که مدیر سایت خواست و روش کلیک کرد

یه [ادامه مطلب] به محتویات textarea اضافه شه؟
 

justpersian

Member
اگر از ادیتورهای WYSIWYG استفاده می کنی خودت می تونی یک دکمه به ادیتور اضافه کنی که اینکارو برات می کنه (برای اطلاعات بیشتر به documentation های WYSIWYG مراجعه کنید)
ادیتورهای دیگه هم فکر کنم قابلیت اضافه کردن گزینه جدید به ادیتور رو داشته باشند ولی من نمی دونم !
اگر هم یک textarea معمولی داری می تونی از کد زیر برای ایجاد دکمه ادامه مطلب استفاده کنی :
کد:
<script>
function insert_moretext(id){
document.getElementById(id).value += '[ادامه مطلب]';
}
</script>

<button onclick="insert_moretext('Text')">درج ادامه مطلب</button>

<textarea id="Text"></textarea>
موفق باشی
 

foranyone

Well-Known Member
ممنون دوست عزیز نیازی به کد نبود حسابی تو زحمت افتادین برا من فقط روش کار مهم بود.

دستتون درد نکنه.
 

madisline

Member
روشی که justpersian عزیز گفت روش خیلی خوبی میتونه باشه ولی وقتی با متن های طولانی سروکار داشته باشیم دیگه این روش نمیتونه بهترین باشه به خصوص اینکه سرعت اجرای کد هم میاد پایین.
چون به هرحال ما باید کل داده های فیلد رو از دیتابیس بگیریم و اونو split کنیم که اگه اینجا با متن طولانی سرکار داشته باشیم اصلا روش بهینه ایی نیست که بخوایم مثلا 10.000 کاراکتر رو بخونیم برای بدست اوردن مثلا 200 تا از اون.
اینجا بهتره 2تا فیلد در بانک داشته باشیم.
 

web2

Member
اتفاقا روش اول به شدت توصیه می شه . خود من هم زمانی تو این فکر بودم که چرا اکثر سیستمهای خارجی از دو textarea استفاده می کردند و خودم از یکی استفاده می کردم !

تا اینکه یک پروژه بتورم خورد مربوط به سیستم خبرگذاری بود . اونجا با کلمه ای به نام لید خبری (اگر اشتباه نکنم) آشنا شدم که خبرنگاران از آن استفاده می کردند یعنی در مقاله ای که می نوشتند قسمت های از متن را که از اهمیت بیشتری برخوردار هستند، با کمی تغییر با فونت بزرگتر مینویسند تا خواننده که فرصت کمی برای خواندن مطلب دارد با خواندن آن پی به اصل مطلب ببرد و می خواستند که وقتی مطلبی را در ادامه مطلب بنویسند شدیدا به لید خبری نیازبود که سیستم در این حالت به دو textarea نیاز داشت .
 

Webber

Well-Known Member
سلام
روش کار جوملا جالبتره اگر با tinymce کار می کنید:

اول صفحه:
HTML:
<script language="javascript">
 function insertReadmore() {
				var content = tinyMCE.getContent();
				if (content.match(/<hr id="system-readmore" \/>/)) {
					alert('کاربرعزيز،فعلا يک قطع کننده ي صفحه وجود دارد');
					return false;
				} else {
					jInsertEditorText('<hr id="system-readmore" />');
				}
			}
 function jInsertEditorText( text ) {
			tinyMCE.execInstanceCommand('mce_editor_0', 'mceInsertContent',false,text);
		}
 </script>

کنار دکمه ی ارسال مقاله!
HTML:
<input name="Button" type="button" value="قطع کننده ی صفحه" onclick="insertReadmore();" />

جداسازی هنگام ذخیره:
PHP:
$body=$_POST['full'];
	  $posi=strpos($body,addslashes('<hr id="system-readmore" />'));
      $intro=substr($body,0,$posi);
      $body=substr($body,($posi+29));

موفق باشید
 

BehrouzPc

پــــادشــاه فــلــــش
بهترین روش همین جدا سازی با یک علامت می باشد که دوستان توضیح دادن
این روشی می باشد سیستم وردپرس از اون استفاده میکنه
وبهترین و به صرفه ترین روش می باشد

<!-- ReadMore -->
متنی که ورد پرس قرار داده
تازه میتونید برای تغییر متن از این روس هم استفاده کنید و متن جوی مساوی برای متن ادامه مطلب قرار گیرد

<!-- ReadMore= NewText For Read More -->
این کار رو موقعی انجام بدید که مخوایید متن ادامه مطلب رو بتونید برای هر مطلب تغییر بدید

البته تمام اینای که گفتم مال ورد پرس می باشد که میتونه توی کار های شما هم مفید باشه
 

جدیدترین ارسال ها

بالا