PDA

View Full Version : ویرایشگر برای سایت خبری



saman.1001
یک شنبه 24 بهمن 1389, 17:42 عصر
با سلام
برای سایت خبری نیاز به درج مطلب با یک ویرایشگر احتاج دارم
ویرایشگر برای دانلود زیاد دیدم
ولی میخوام از پایه یکی بسازم
لطفا راهنمایی بنمایید

mohsen6500
یک شنبه 24 بهمن 1389, 20:20 عصر
سلام
اگر ویرایشگرهایی که توی اینترنت هستند رو دیده باشید
اصل کارشون با جاوا اسکریپت هست
تا چه حدی به جاوا اسکریپت مسلط هستید؟

tem988
یک شنبه 24 بهمن 1389, 20:28 عصر
سلام منم یک زمانی میخواستم همچین کاری بکنم
ولی وقتی کدهای یک ویرایشگر کامل رو دیدم فکرشو که کردم کم کمش 6 ماه کار میبره اونم اگر واقعا جاوا اسکریپت رو مسلط باشی
من ویرایشگر tiny_mc رو دارم فارسی شده یک دیگه هم هست ساده تره سرعت لودش هم بالاست اگر خواستی میزارم برای دانلود
ویرایش گر رو هم برای سایت رزبلاگ نصب کردم میتونی اونجا بری ببینی

saman.1001
یک شنبه 24 بهمن 1389, 22:02 عصر
ممنون از جواب دوستان
جاوا اسکریپت رو کم بلدم
لطفا همون ویرایشگری که نام بردید رو برام پیوست کنیید

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

mohsen6500
یک شنبه 24 بهمن 1389, 22:30 عصر
بفرما اینم ویرایشگر چک ادیتور (http://download.cksource.com/CKEditor/CKEditor/CKEditor%203.5.1/ckeditor_3.5.1.zip)

saman.1001
یک شنبه 24 بهمن 1389, 22:44 عصر
دوست عزیز از لینکتون ممنون
ولی با اجازه اینو قبلا دانلود کرده بودم
ولی طریقه نصبش رو نمیدونم
لطفا طریقه نصبشو بگید
اینم لینک دمو
http://ckeditor.com/demo
ب تشکر

mohsen6500
یک شنبه 24 بهمن 1389, 22:51 عصر
خوب دوست عزیز خودم
برای اجرا ابتدا یه اسکریپت در بخش هد سایت رو باید به فایلتون الحاق بفرمایید
به این شکل


<script src="ckeditor/ckeditor.js" type="text/javascript"></script>

حال کافیه کد تکست باکس را به این صورت بذارید

<textarea name='editor1' rows='2' id='editor1' style='WIDTH:80px; HEIGHT:100%;'></textarea>
<script type='text/javascript'>
//<![CDATA[
// Replace the <textarea id='editor1'> with an CKEditor instance
var editor = CKEDITOR.replace( 'editor1' );
//]]>
</script>
برای تنظیمات سایز و رنگش هم به فایل css که توی پوشه اصلی هست میتونید مراجعه بفرمایید

در ضمن فایل های مثال رو توی خود پوشه اصلی هست !!!

amir001
دوشنبه 25 بهمن 1389, 11:26 صبح
من روش پایه اون را برای شما توضیح میدم اگر دوست داشتید خودتون بسازی.

همونطور که میدونیم textarea قابلیت چند فونتی را نداره. مثلا نمیشه درون اون یک قسمت از متن را با یک رنگ و فونت نمایش داد و قسمت دیگر را با یک رنگ و فونت دیگه. برای همین باید بیای و textArea را مخفی کنی.

اما متن را کجا نمایش بدیم؟؟

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

این کار نیاز به تسلط کافی شما بر جاوا اسکریپت داره.

این روش کار ادیتورها بود اما پیشنهاد میکنم از همون ادیتور های آماده استفاده کنی که کارت راحت باشی...
موفق باشی

رضا قربانی
دوشنبه 25 بهمن 1389, 11:50 صبح
دوست من بازم ادیتور های فارسی دارید برامون اینجا قرار بدید تا دانلود و استفاده کنیم ؟

این ادیتور 5 مگ هست و این اصلا این خوب نیست


ممنون می شم :خجالت:

saman.1001
دوشنبه 25 بهمن 1389, 23:06 عصر
خوب دوست عزیز خودم
برای اجرا ابتدا یه اسکریپت در بخش هد سایت رو باید به فایلتون الحاق بفرمایید
به این شکل


<script src="ckeditor/ckeditor.js" type="text/javascript"></script>

حال کافیه کد تکست باکس را به این صورت بذارید

<textarea name='editor1' rows='2' id='editor1' style='WIDTH:80px; HEIGHT:100%;'></textarea>
<script type='text/javascript'>
//<![CDATA[
// Replace the <textarea id='editor1'> with an CKEditor instance
var editor = CKEDITOR.replace( 'editor1' );
//]]>
</script>
برای تنظیمات سایز و رنگش هم به فایل css که توی پوشه اصلی هست میتونید مراجعه بفرمایید

در ضمن فایل های مثال رو توی خود پوشه اصلی هست !!!

آقا دمت گرم
خیلی باهالی
اول یک سوال اگه نگی مدیونی:لبخند:
این آموزش رو قبلا بلد بودی یا در گوگل جستجو کردی(در صورت جستجو در گوگل نام منبع رو ذکر کن دلیلشو بعدا میگم)
سوال دوم
وقتی این کد رو میزاری ویرایشگر بالا میاد این کد کارش چیه

<textarea name='editor1' rows='2' id='editor1' style='WIDTH:80px; HEIGHT:100%;'></textarea>
<script type='text/javascript'>
//<![CDATA[
// Replace the <textarea id='editor1'> with an CKEditor instance
var editor = CKEDITOR.replace( 'editor1' );
//]]>
</script>


و سوال آخر:لبخند:
چگونه مطالب تایپ شده در این ویرایشگر رو به دیتابیس ارسال کنم

ب تشکر فراوان

mohsen6500
دوشنبه 25 بهمن 1389, 23:29 عصر
سلام
جواب اول : از طریق سورس مثالی که براش گذاشته ، فهمیدم که روند کارش چه جوری هست!(نیاز به یکمی دقت داره)
جواب دوم : درواقع کد جاوا اسکریپت میاد و تکست آرا رو تبدیل به یک ویرایشگر متن میکنه (replace) باید آی دی تکست آرا با آی ای که توی جاوا اسکریپت هست یکی باشه
و اما جواب آخر : کافیه که توسط متد های گت یا پست value رو دریافت کنی
مثلا :


$TEXT = $_GET['editor1'];
OR
$TEXT = $_POST['editor1'];


موفق باشی

saman.1001
دوشنبه 25 بهمن 1389, 23:53 عصر
انگار سوال ما آخری نداره:لبخند:
وقتی داخل ویرایشگر چیزی وارد میکنم و بعدش ارسال میزنم
داخل دیتابیس تگ های html همراه متون قرار میگیره
به نظرتون مزیت این کار بر چی هست
من طبق پست قبلی شما تنظیمات رو انجام دادم
=========================
راستی این آدرس api این ویرایشگر هست
از دوستان جهت آشنایی بیشتر با این ویرایشگر به این آدرس مراجعه کنند
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html

mohsen6500
سه شنبه 26 بهمن 1389, 00:04 صبح
ظاهرا تابه حال با فرم و ارسال فرم کار نکردی عزیز!
خوب اینو بذار توی فرم مثلا :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="ckeditor/ckeditor.js" type="text/javascript"></script>
<title>SEND POST</title>
</head>

<body>
<?php
if(isset($_POST['editor1']))
{
echo $_POST['editor1'];
}

?>
<form action="" name="posts" method="post">
<textarea name='editor1' rows='2' id='editor1' style='WIDTH:80px; HEIGHT:100%;'></textarea>
<script type='text/javascript'>
//<![CDATA[
// Replace the <textarea id='editor2'> with an CKEditor instance
var editor = CKEDITOR.replace( 'editor1' );
//]]>
</script>
<input type="submit" name="Send" value="ارسال" />
</form>
</body>
</html>

saman.1001
سه شنبه 26 بهمن 1389, 00:22 صبح
ممنون دوست عزیز
کار کرده ام
اگه نگاه کنیید به سوالم با اجازه شما تغییر دادم سوالمو
به هر حال از جوابتون ممنون

راستی برای درج مطلب حتما از این کد میبایست استفاده کرد

$link = mysql_connect("127.0.0.1","root","");
mysql_set_charset('utf8',$link);

و سوال آخر من(البته برای بار دوم:لبخند:)
اینه که داخل دیتابیس تگ های html همراه متون قرار میگیره
و مزیت این کار چیه که متن ما همراه تگ html داخل دیتابیس قرار میگیره
برای فراخوانی(select کردن)چیکارکنم(نکنه اون موقع برای select باید از تگ body استفاده کنیم)

mohsen6500
سه شنبه 26 بهمن 1389, 00:31 صبح
درمورد سوال اول اینکه خط اول برای وصل شدن به دیتا بیس هست و خط دوم باعث میشه که نوشته های فارسی رو توی دیتا بیس به صورت فارسی یعنی بدون تغییر ذخیره میکنه
مزیت این کار هم اینه که با استفاده از کدها متن تون رو میتونید رنگ بدید و یا فونت شو عوض کنید یعنی جدای از فونتی که برای سایت درنظر گرفته ایید
و دیگر ......
که یک تکست ارا معمولی نمیتونه این کار هارو بکنه

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

saman.1001
سه شنبه 26 بهمن 1389, 00:41 صبح
بازم ممنون از کمکتون
راستی جمله زیر سوال نبود! فقط به عنوان یک نکته گفتم ذکر کنم برای بقیه دوستان شاید بعدا از این ویرایشگر بخواهند استفاده کنند

راستی برای درج مطلب حتما از این کد میبایست استفاده کرد

به امید موفقیت شما دوست عزیز

saman.1001
سه شنبه 26 بهمن 1389, 01:02 صبح
بازم اومدم:لبخند:

وقتی وارد صفحه ادیتور میشم یا اون صفحه رو Refresh میکنم
داخل دیتابیس یک سطر خالی درج میشه
دلیلش چیه
به نظرتون چیکار کنم؟

mohsen6500
سه شنبه 26 بهمن 1389, 01:22 صبح
شاید برای فرمت باتن نذاشتی و خود کار با رفرش کردن صفحه اطلاعات درج میشه
یا اینکه قبلا پست ارسال کردی وحالا با رفرش کردن دوباره اطلاعات به دیتا بیس میرند
خوب برای اینکار اول باید با isst چک کنی بیینی چیزی وارد شده اگر وارد شده بود بعد ارسال کنی
و بعد از ارسال متن برای بازگشت از دویاره لینک صفحه رو بذار تا فرم توی صفحت باز نمونه

saman.1001
سه شنبه 26 بهمن 1389, 01:29 صبح
ببخشید اصلا هواسم به تابع isset نبود!
بازم تشکر

رضا قربانی
سه شنبه 26 بهمن 1389, 09:12 صبح
دوستان - اگر بازم ادیتور های فارسی دارید برامون قرار بدید

ممنون می شم

انقدر صحبت هاتون داغ بود که گفتم وسط نیام تا مشکل دوستمون حل بشه و اگر بازم ادیتور های فارسی دارید برامون قرار بدید

متشکر

mohsen6500
سه شنبه 26 بهمن 1389, 09:37 صبح
سلام عرض کنم که ادیتور دیگه ای هم هست به نام tinymce (http://tinymce.moxiecode.com/download/download.php) که اینم ادیتور خوبیه
ولی من به شخصه باهاش کار نکردم چون خیلی خوشم نیومد
اینم واسه فارسی کردنش
(http://modxcms.com/forums/index.php?topic=10268.0)درحال حاضر این دو تا رو میشناسم

mohsen6500
سه شنبه 26 بهمن 1389, 10:19 صبح
اینم یه ادیتور دیگه به نام NicEdit (http://nicedit.com/)

saman.1001
سه شنبه 26 بهمن 1389, 10:58 صبح
سلام خدمت دوستان عزیز
اگه با ویرایشگر جوملا کارکرده باشید
حتما متوجه شده اید که قابلیت انتخاب مستقیم تصویر را دارد
(وقتی در ویرایشگر جوملا بر روی تصویر کلیک میکنیم یک پنجره باز میشه که هم میشه فایل رو آپلود کرد و پس از آن تصویر رو انتخاب و به محیط ویرایشگر درج کرد)

اگه بشه برای این ویرایشگر هم چنین کاری انجام داد
خیلی عالی میشه

saman.1001
سه شنبه 26 بهمن 1389, 11:19 صبح
پس از بررسی ویرایشگر در دموی اصلی متوجه شدم که قابلیت انتخاب و درج تصویر از خود سرور هم داره
این آدرس دمو http://ckeditor.com/demo
ولی در لوکال من این قابلیت وجود نداره
به نظرتون دلیلش بر چی هست؟

saman.1001
سه شنبه 26 بهمن 1389, 23:52 عصر
جواب سوال بالا پیدا شد خداراشکر
اینم آدرس جواب
http://docs.cksource.com/CKEditor_3.x/Developers_Guide/File_Browser_%28Uploader%29#Example_2
انگار همش کد نویسی هست
اما یک سوال دیگه:لبخند:
از دوستان کسی میدونه چطور میشه برای مطالب ادامه مطلب ایجاد کرد(با این ویرایشگر)؟؟؟
در کل موقع select کردن بشه مقداری از متن رو در ادامه مطلب نمایش داد

mohsen6500
چهارشنبه 27 بهمن 1389, 00:53 صبح
دوست عزیز برای اینکار باید توی دیتا بیس از دو فیلد استفاده کنی که یکی را برای متن و دیگری برای ادامه متن
حالا کافیه دو تا کد ادیتور بذاری و آیدی یکی را editor1 و دومی رو editor2 بذاری
در نهایت برای سلکت کردن چک میکنی که اگر ادیتور 2 متنی توش نوشته شده بود لینک ادامه مطلب رو نمایش بده و اگر نبود هیچی نمایش نده

رضا قربانی
چهارشنبه 27 بهمن 1389, 08:57 صبح
tinymce (http://tinymce.moxiecode.com/download/download.php) که بهتر از همه ادیتور ها هست !!!!!

اونی که شما همون اول معرفی کردید و توضیح دادید 5 مگابایت بود و این اصلا خوب نیست

mohsen6500
چهارشنبه 27 بهمن 1389, 09:18 صبح
بابا دو مگ بیشتر نیست که بعدش با فایلهای جانبی شده 2 مگ و شما میتونید اونو به 1 مگ هم برسونی با حذف فایل هایی که نیاز نیست
مثل فایل مثالهایی که قرار داده
بعدشم من اون موقع از فارسی شدن tinymce خبر نداشتم و واسه همین پیگیرش نشده بودم
در نهایت هم برای من بیشتر جنبه سلیقه ایی داره تا حجمی

رضا قربانی
چهارشنبه 27 بهمن 1389, 16:00 عصر
ما php رو انتخاب کردیم به خاطر سرعت بسیار بالای اون

سایت هایی که طراحی و اجرا می کنیم سر و جمع به یک مگ نمی رسه که فوقش یه 800 کیلو بشه

این سایت فقط 870 کیلو هست : http://mehresobhan.com/sama

بعد محتویاتش هست که حجم سایت رو بالا می بره


برای ما برنامه نویس ها و طراحان وب 100 کیلو هم مهم هست تا برسه به 2 مگ

البته همون طور که خودتون گفتید اینم باز بستگی به سلیقه داره ( برنامه نویسی و طراحی بدون سلیقه هیچ و پوچ هست )

Metal Gear Solid
چهارشنبه 27 بهمن 1389, 16:53 عصر
این ادیتورها از لحاظ امنیت در چه سطحی هستند؟
و اگر امنیتشون بالاست چرا CMS هایی مثل وی بی یا مای بی بی یا بقیه از این ادیتورها استفاده نمیکنند و از بی بی کد استفاده میکنند؟
سوال دیگه اینکه این ادیتورها خیلی پیشرفته هستند. چطور میشه بعضی از امکانات رو حذف کرد؟
البته میدونم که باید رفت توی کد و برخی از کدها رو حذف کرد اما اینکار خیلی خسته کننده و وقت گیره. راه دیگه ای نداره؟ کسی اینکار رو نکرده یه نسخه بده هم خودش ثواب کنه هم ما خیرشو ببریم ؟

رضا قربانی
چهارشنبه 27 بهمن 1389, 19:12 عصر
بزودی براتون خواهم گذاشت

با حجم کمتر و امکانات اضافی حذف و فارسی شده


به طور کلی براتون توضیح خواهم داد

saman.1001
چهارشنبه 27 بهمن 1389, 20:47 عصر
دمت گرم داداش
اگه کاری کردی منم خبر کن
ب تشکر

Metal Gear Solid
یک شنبه 01 اسفند 1389, 22:37 عصر
آقای galiken_it (http://barnamenevis.org/member.php?151175-galiken_it) به نتیجه نرسیدید؟

jalaladdin
جمعه 12 فروردین 1390, 10:15 صبح
برای درج مطالب در پایگاه داده این کد را نوشتم هرچند این کد اشکال داره برای درج مطالب چکار باید کرد؟


<?php
if(isset($_POST['text1']))
{
echo $_POST['text1'];
}
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("register", $con);
mysql_query("INSERT INTO message (text1) ");
mysql_set_charset("utf8",$con);
mysql_close($con);
?>
<form action="sendmessage.php" method="post" name="posts">
<textarea name='text1' rows='2' id='text1' style='WIDTH:80px; HEIGHT:100%;'></textarea>
<script type='text/javascript'>
//<![CDATA[
// Replace the <textarea id='editor1'> with an CKEditor instance
var editor = CKEDITOR.replace( 'text1' );
//]]>
</script>
<input type="submit" name="send" value="ارسال" />
</form>