بله درست وارد شده.آموزش رو هم دیدم. نشد.
Printable View
بله درست وارد شده.آموزش رو هم دیدم. نشد.
بله کاملا موفق
اصولا این خطا زمانی به وجود میاد که اتصال با بانک اطلاعاتی به درستی انجام شده باشه و موتور بانک اطلاعاتی جدول مورد نظر رو نتونه پیدا کنه.که دلیلش یا ایمورت نکردن فایل sql هست یا اینکه شما فایل sql رو در دیتابیسی غیر از اونی که مشخصاتش رو در config.php وارد کردید ایمپورت کردید.
یه سوال دیگه هم داشتم و اونم اینکه شما فایل پروژه رو از کجا دانلود کردید؟
پیشنهاد میکنم آخرین نسخه ها رو از مخزن پروژه بر روی سایت github که در پست اول اشاره شده دانلود کنید.
اگه مشخصات اتصال به دیتابیس رو اشتباه وارد کرده باشید با خطای زیر مواجه میشید.
Error In query from database!
reason: SQLSTATE[28000] [1045] Access denied for user 'username'@'domain' (using password: YES)
از اینجا
https://codeload.github.com/morrning/sarkesh/zip/master
ایمپورت انجام میشه .اتصال به پایگاه داده هم درسته چون وقتی اسم ها رو عوض میکنم کلا access deny میشه.
با phpmyadmin وارد بانک اطلاعاتی بشید ببینید داخل لیست جدول ها جدولی با نام permations وجود داره؟نقل قول:
از اینجا
https://codeload.github.com/morrning/sarkesh/zip/master
ایمپورت انجام میشه .اتصال به پایگاه داده هم درسته چون وقتی اسم ها رو عوض میکنم کلا access deny میشه.
بله اینم محتواشضمیمه 117940
بله ممنونم
حالا به این صورت شده.ضمیمه 117942
اینم آدرسکد HTML:<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content=" Sarkesh CMS! - Open Source Content Management" />
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<script src="./core/ect/scripts/jquery.js"></script>
<script src="./core/ect/scripts/bootstrap.min.js"></script>
<script src="./core/ect/scripts/bootstrap-dialog.js"></script>
<script src="./core/ect/scripts/pace.min.js"></script>
<link rel="stylesheet" type="text/css" href="./core/ect/styles/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="./core/ect/styles/bootstrap-dialog.css" />
<link rel="stylesheet" type="text/css" href="./core/ect/styles/normalize.css" />
<link rel="stylesheet" type="text/css" href="./core/ect/styles/bootstrap/bootstrap-theme.min.css" />
<link rel="stylesheet" type="text/css" href="./core/ect/styles/pace/pace-theme-corner-indicator.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="./themes/blog/style.css" />
<link rel="shortcut icon" href="./themes/blog/favicon.ico" type="image/x-icon">
<link rel="icon" href="./themes/blog/favicon.ico" type="image/x-icon">
<script src="./core/ect/scripts/tinymce/tinymce.min.js"></script>
<script> tinymce.init({selector:'textarea.editor',directionality: "LTR",language: "en"});</script>
<script src="./core/ect/scripts/functions.js"></script>
<title>Sarkesh | Register</title>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Sarkesh</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-ex1-collapse">
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href=".">Home</a></li>
<li><a href=".?plugin=forum">Forums</a></li>
<li><a href=".?plugin=content&action=show&cat=download">Downloads</a></li>
<li><a href=".?plugin=content&action=show&id=about_us">About us</a></li>
<li><a href=".http://google.com">TEST</a></li>
</ul>
</div> </div><!-- /.navbar-collapse -->
</div><!-- /.container -->
</nav>
<div class="container">
<div class="row">
<div class="col-xs-8 main">
</div>
<div class="col-xs-4 sidebar">
<div class="row">
<div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title">User Sign in</h3></div><div class="panel-body"><div id="users_login" class="users_login" >
<script language="javascript" type="text/javascript" src="../plugins/users/scripts/users.js"></script>
<div id="msg" class="users_login_msg" ></div>
<form id="users_login">
<div class="form-group users_login">
<label for="users_username"> Username: </label>
<input type="text" id="users_username" class="form-control" name="users_username" placeholder="Username">
<label for="users_password"> Password: </label>
<input type="password" id="users_password" class="form-control" name="users_password" placeholder="******">
<div class="checkbox">
<label>
<input type="checkbox" id="users_remember" name="users_remember" value="yes">
Remember me!
</label>
</div>
<input type="button" class="form-control btn btn-primary" onclick="users_login()" value="Sign in">
<a href=".?plugin=users&action=forget_password" >Forget your password?</a>
<br />
<br />
<div>
<p>Don't have account? <a href=".?plugin=users&action=register" class="btn btn-primary btn-sm" role="button"> Sign up </a></p>
</div>
</div>
</form>
</div></div></div><div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title">Reset password</h3></div><div class="panel-body"><div id="users_login" class="users_login" >
<script language="javascript" type="text/javascript" src="../plugins/users/scripts/users.js"></script>
<div id="msg" class="users_forget_password" ></div>
<form>
<div class="form-group users_forget">
<label for="users_email"> Email: </label>
<input type="text" id="users_email" class="form-control" name="email" placeholder="Email">
<br />
<div><p>Enter your email and we send reset password request to your email.</p></div>
<input type="button" class="form-control btn-primary" onclick="users_forget_password()" value="Send email">
</div>
</form>
</div></div></div><div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title">Languages</h3></div><div class="panel-body"><div id="languages_select" class="languages_select" >
<script language="javascript" type="text/javascript" src="../plugins/languages/scripts/languages.js"></script>
<div id="msg" class="languages_select_msg" ></div>
<form>
<select class="languages_selector form-control" onchange="languages_change()">
<option value="en_US"> English - United States </option>
<option value="fa_IR"> فارسی - ایران </option>
</select>
</form>
</div></div></div><div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title">User Menu</h3></div><div class="panel-body"> <div class="navbar-collapse collapse">
<ul class="nav-pills nav-stacked"">
<li><a href=".">about us</a></li>
</ul>
</div></div></div> </div>
<div class="row">
</div>
</div>
</div>
<hr>
<footer>
<div class="row">
<div class="col-xs-12">
<p></p>
<p>Copyright © Sarkesh LTD 2013</p><br />
</div>
</div>
</footer>
</div><!-- /.container -->
</body>
</html>
کد HTML:http://localhost/sarkesh/?plugin=users&action=register
ببخشید از اینجا دانلود کردم
https://bitbucket.org/morrning/sarkesh/downloads
الان این شده ولی دکمه ثبت نام کار نمیکنه.
ضمیمه 117943
مشکلی وجود نداره چون کامیت های ارسالی روی تمام مخزن ها ارسال میشن.نقل قول:
ببخشید از اینجا دانلود کردم
https://bitbucket.org/morrning/sarkesh/downloads
الان این شده ولی دکمه ثبت نام کار نمیکنه.
از بابت دکمه ثبت نام هم باید به نکات زیر دقت کنید.
- حداقل طول کاراکتر برای کلمه عبور 8 کاراکتر هست.
- تا زمانی که خطاهای مربوط به نام کاربری و ایمل و ... بالای صفحه با رنگ قرمز وجود داشته باشند فرم ثبت نام ارسال نمیشود.
اگه میخوایید به سیستم ورود کنید میتونید از نام کاربری sarkesh و کلمه عبور sarkesh123456 استفاده کنید . همچنین برای ورود به محیط مدیریت میتونید از آدرس زیر استفاده کنید
http://localhost/?panel=admin
همچنین فایل ضمیمه رو دانلود و جایگزین فایل زیر کنید
/plugins/users/module.php
مرسی .فقط دکمه کار نکرد .موفق باشید .
شب خوش.
ضمن عرض خسته نباشید و تشکر برای زحماتی که دارید می کشید.
دیدم اگر صحبتی نکنم در راهی اشتباهی که دارید میرید شریک میشم. پس با اجازه چند نکته بیان می کنم و هدفم فقط انتقاد سازنده و جلو گیری از اتلاف وقت شما هست.
ببینید اگر شما قصد دارید کتابخانه یا فریم ورکی رو برای کارهای شخصی خودتون ایجاد کنید که هیچ جای صحبتی نیست. چهار دیواری اختیاری و کسب تجربه و ... همراهش هست.
اما اگر قصد دارید یک فریم ورک ایجاد کنید که ابزار کار شما و افراد دیگه ای بشه. و در کار توسعه آن افرادی دیگر هم مشارکت داشته باشند. باید خیلی جدی تر روی لاجیک فریم ورک کار کنید. من چند مورد رو اشاره می کنم :
۱- فریم ورک ها از یک یا ترکیبی از چند معماری پشتیبانی و تبعیت می کنند. در صورتی که در پروژه شما دیده نمیشه .
۲- فریم ورک ها از یک استاندارد کلی برای نام گذاری و کلا قواعد نام گذاری استفاده می کنند. در فریم ورک های پی اچ پی این استاندارد ها در چهار نسخه تهیه شده که در آدرس http://www.php-fig.org/ قرار دارند.
فریم ورک تخصصی من کیک پی اچ پی هست. اما چون با نسخه های مختلف استاندارد ها آشنایی دارم. خیلی راحت می تونم سویچ کنم روی لارول یا سیمفونی یا زند. به این دلیل که هر کدام از فریم ورک ۹۵٪ استاندارد ها رو رعایت می کنند. پس برایم این تغییر بستر کاری غریبه و سخت نیست. و همین هم باعث میشه که فردا افرادی رو جذب کنید. تا با شما در توسعه یاری بدند.
در کل آرزوی پیشرفت و موفقیت براتون دارم. اگر دوست داشتید می تونم مباحث ریشه ای تر مثل چرخه زندگی درخواست ها در فریم ورک و نحوه ارتباط لایه ها رو بیشتر براتون باز کنم.
حرف شما کاملا درسته و بنده هم اینو قبول دارم
من خودم هم قبلا با cakephp برنامه مینوشتم . من در این پروژه قصدم فقط سریعتر کردن زمان توسعه نرم افزار ها هست. این زمان در یه بخشی در ایجاد کنترل های پیش ساخته برای برنامه نویسا کوتاه میشه و از طرف دیگه با حذف پیچیدگی های غیرضروری سعی در رسیدن به این هدف دارم .
بنده خودم اطلاع دارم که بعضی از جاهایی که توسعه میدم فعلا در هیچ استانداردی تعریف نشده ولی اینو به پای ساده کردن کار برای توسعه دهنده بزارید.
مثلا در بحث مسیریابی به جای دادن حق انتخاب به توسعه دهنده برای ایجاد مسیر های درخواست اومدم دو مسیر طراحی کردم که ارتباط کاربر با پلاگین های نوشته شده رو برقرار کنه این وسط خوبی هایی هم داره و اونم اینکه سردرگمی کمتری به وجود میاد ...
من در توسعه این پروژه سعی میکنم برای انجام هر کاری فقط و فقط یک راه حل در فریمورک وجود داشته باشه تا از موازی کاری ها جلوگیری کنم. در یک کلام به جای دادن ۱۰ آپشن بی کیفیت ۱ آپشن با کیفیت در اختیار توسعه دهنده قرار داده بشه تا توسعه دهنده از مسیر اصلی که همون توسعه سریع و چابک توسعه نرم افزار هست خارج نشه.
پس گزینه شخصی بودن مطرح هست. تو این حالت هیچ جای بحثی نیست. آخر آخرش اگر هیچ هم ته ماجرا نمونه همین تجربه ای که بدست میاد خیلی ارزش داره و باعث باز شدن ذهن برای پروژه های بعدی میشه. بابت پشتکارتون نبریک میگم:تشویق:
روی مخزن پروژه رویداد های click پی اچ پی و جاوا اسکریپت تقریبا پیاده سازی شدن. البته فقط برای کنترل ctr_button
حالا از همه دوستانی که قصد همکاری دارن خواهشمندم درباره رویداد ها و پروپرتی هایی که کنترل ctr_button باید داشته باشه دیدگاهاشون رو اعلام کنن. که رویداد های اضافی و پروپرتی های به درد نخور الکی پیاده سازی نشن.
برای شروع میتونید اینجور در نظر بگیرید که button در html چه چیزهایی نداره که باید اضافه بشه.
بنده سعی میکنم دیدگاه های مفید رو در کدنویسیم وارد کنم.
خدمت zoghal عزیز عرض کنم که اگه قصدم ساخت یه چیزی مثل yii یا cakephp بود مطمئن باشید دنبال این پروژه رو نمیگرفتم چون اختراع دوباره چرخ کار بیهوده ای هست.
هدف اصلی نزدیک کردن برنامه نویسی تحت وب به برنامه نویسی تحت ویندوز هست که در کنترل ها و رویدادگرایی اونا نهفته شده. در سرانجام این پروژه هم یه IDE میخوام طراحی کنم که مثل ویژوال استودیو برنامه نویس فقط کنترل ها رو روی فرمش درگ کنه و برا اونا کد بنویسه برای برنامه نویس تحت وب حتی فکر کردن به اینجور برنامه نوشتن هم زیباست. حس من اینه که این پروژه میتونه چیز جدیدی برای گفتن داشته باشه . شک نکنید اگه ایدهای پشت این قضیه نبود قطعا دنبالش رو نمیگرفتم.
بنده تا جایی که هدف ایدم رو بیان کنم این پروژه رو توسعه میدم و از اون به بعد منتظر فیدبک ها جامعه کاربری میمونم. ادامه پروژه از اون مرحله به بعد به حمایت جامعه کاربری بستگی داره.
ctr_button:
این کنترل در واقع یه دکمه html هست که یه سری قابلیت های جدید از جمله توانایی پاسخ به رویداد ها مثل click در سمت سرور براش فراهم شده.
برای ترسیم این فرم ابتدا باید یه متغییر در فایل قالب در نظر بگیرید و سپس مقدار بازگشتی از متد draw از این کنترل رو بهش نسبت بدید.
پروپرتی ها:
لیست خصوصیات این کنترل در لیست زیر قابل مشاهده هست
- NAME برای ایجاد تمایز بین کنترل های روی فرم از این پروپرتی استفاده میشه. دقت کنید که در یک فرم هیچ دو کنترل هم نوعی نباید نام یکسان داشته باشند. اگه نام ها رو یکسان در نظر بگیرید با مشکل در قسمت رویداد ها مواجع میشید.
- LABEL این پروپرتی متنی هست که باید روی دکمه نمایش داده بشه.مقدار پیشفرض این پروپرتی هم Button هست
- FORM این پروپرتی مشخص کننده این هست که دکمه مورد نظر به چه فرمی نسبت داده شده .این پروپرتی یه مزیت داره و اونم اینکه در برنامه نویسی بدون Ajax هم میشه از کنترل ها استفاده کرد.
توجه: در رویداد سمت مرورگر تنها میتوانید به المان هایی دسترسی داشته باشید که دارای پروپرتی FORM یکسانی هستند.
- TYPE نوع دکمه رو مشخص میکنه که میتونه یکی از مقادیر زیر باشه. هر کدوم از مقادیر زیر ترکیب رنگ دکمه رو تغییر میدن برای مثال success رنگ دکمه رو سبز میکنه.
- default
- primary
- success
- info
- warning
- danger
- link
- none
توجه: در حالت استفاده از گذینه none کنترل از bootstrap گرفته شده و تنها توسط استایل های تنظیم شده در پروپرتی STYLE و کلاس های تعریف شده در پروپرتی CLASS استایل دهی خواهد شد.
- DISABLE این پروپرتی یک مقدار بولیین میگیره که به طور پیشفرض FALSE هست . در مقدار FALSE کنترل فعال هست و اگه برابر TRUE باشه کنترل غیر فعال میشه.
- CLASS این پروپرتی برای اضافه کردن کلاس های CSS به کنترل هست. اگه قصد دارید بیش از یک کلاس به کنترل اضافه کنید با فاصله(SPACE) کلاس ها رو از هم جدا کنید.
- CSS_FILE این پروپرتی برای چسپاندن فایل CSS که کلاس های تعریف شده در پروپرتی CLASS تعریف شده اند استفاده میشود. برای مثال میتوانید به پروپرتی CLASS مقدار TEST را نسبت دهید سپس در فایل CSS پس از تعریف و درج دستورات CSS آدرس این فایل را برای ضمیمه کردن به صفحه در این پروپرتی قرار دهید.
مثال:
$a = new ctr_button;
$a->configure('TYPE', './themes/test.css');
$a->draw();
- STYLE توسط این پروپرتی مستقیما میتوانید دستورات CSS را برای کنترل وارد کنید . توجه داشته باشید که بین دستورات از علامت سیمی کالن (;) برای جداکردن دستورات از یکدیگر استفاده کنید.
- SCRIPT_SRC این پروپرتی برای قرار دادن فایل های جاوا اسکریپت به هدر صفحات استفاده میشه. توابع جاوا اسکریپتی مربوط به رویدادها رو در یک فایل ذخیره کنید سپس توسط این پروپرتی این فایل رو به هدر صفحه سنجاق کنید.
رویداد ها:
- J_ONCLICK این پروپرتی تابع جاوا اسکریپتی رو نشون میده که در صورت کلیک روی فرم باید اجرا بشه.
- P_ONCLICK_FUNCTION این پروپرتی نشان دهنده تابع PHP هست که در صورت کلیک روی فرم باید اجرا بشه. دقت کنید که این تابع باید در کلاس controller یکی از پلاگین ها به صورت public تعریف شده باشه و یک آرگومان ورودی برای دریافت خصوصیات المان های روی مرورگر داشته باشه . دقت کنید که این تابع حتما باید همین آرگومان ورودی رو پس از ایجاد تغییرات بازگشت بده! یعنی همین آرگومان ورودی رو return کنه. آرگومانی ورودی این تابع یک آرایه از المان های روی صفحه مرورگر هست که بسته به نوع هر المان خصوصیات هر اندیس از این آرایه فرق میکنه. برای اطلاعات بیشتر درباره این متغییر از پست اول همین تایپینگ به خصوصیات المان ها مراجعه کنید.
توجه:یکی از اندیس های آرایه ورودی این تابه که یک مقدار رشته ای است که با RV مشخص شده که خودش هم یه آرایه هست که اندیس value این مقدار به رویداد J_AFTER_CLICK ارسال میشود.
- P_ONCLICK_PLUGIN مشخص کننده نام پلاگینی هست که پروپرتی P_ONCLICK_FUNCTION در controller اون تعریف شده.
- J_AFTER_ONCLICK نام تابع جاوا اسکریپتی که بعد از رویداد P_ONCLICK_FUNCTION اجرا میشه رو مشخص میکنه که باید فقط نام اون رو وارد کنید. در مرحله پیاده سازی این باید به صورتی تعریف بشه که یک آرگومان ورودی داشته باشه که این آرگومان مقدار برگشتی از رویداد P_ONCLICK_FUNCTION در اون قرار داده میشه.
- J_ONBLUR این پروپرتی تابع جاوا اسکریپتی رو نشون میده که در صورتی که فوکوس از روی کنترل برداشته بشه یا اصطلاحا رویداد onblur رخ بده تابع تعریف شده در این پروپرتی اجرا میشه.
- P_ONBLUR_FUNCTION این پروپرتی نشان دهنده تابع PHP هست که در صورت برداشته شدن فوکوس از روی کنترل باید اجرا بشه. دقت کنید که این تابع باید در کلاس controller یکی از پلاگین ها به صورت public تعریف شده باشه و یک آرگومان ورودی برای دریافت خصوصیات المان های روی مرورگر داشته باشه . دقت کنید که این تابع حتما باید همین آرگومان ورودی رو پس از ایجاد تغییرات بازگشت بده! یعنی همین آرگومان ورودی رو return کنه. آرگومانی ورودی این تابع یک آرایه از المان های روی صفحه مرورگر هست که بسته به نوع هر المان خصوصیات هر اندیس از این آرایه فرق میکنه. برای اطلاعات بیشتر درباره این متغییر از پست اول همین تایپینگ به خصوصیات المان ها مراجعه کنید.
توجه:یکی از اندیس های آرایه ورودی این تابه که یک مقدار رشته ای است که با RV مشخص شده که خودش هم یه آرایه هست که اندیس value این مقدار به رویداد J_AFTER_ONBLUR ارسال میشود.
- P_ONBLUR_PLUGIN مشخص کننده نام پلاگینی هست که پروپرتی P_ONBLUR_FUNCTION در controller اون تعریف شده.
- J_AFTER_ONBLUR نام تابع جاوا اسکریپتی که بعد از رویداد P_ONBLUR_FUNCTION اجرا میشه رو مشخص میکنه که باید فقط نام اون رو وارد کنید. در مرحله پیاده سازی این باید به صورتی تعریف بشه که یک آرگومان ورودی داشته باشه که این آرگومان مقدار برگشتی از رویداد P_ONBLUR_FUNCTION در اون قرار داده میشه.
- J_ONFOCUS این پروپرتی تابع جاوا اسکریپتی رو نشون میده که در صورتی که فوکوس روی این کنترل قرار بگیره یا اصطلاحا رویداد onfocus رخ بده تابع تعریف شده در این پروپرتی اجرا میشه.
- P_ONFOCUS_FUNCTION این پروپرتی نشان دهنده تابع PHP هست که در صورتی که فوکوس روی این کنترل قرار بگیره باید اجرا بشه. دقت کنید که این تابع باید در کلاس controller یکی از پلاگین ها به صورت public تعریف شده باشه و یک آرگومان ورودی برای دریافت خصوصیات المان های روی مرورگر داشته باشه . دقت کنید که این تابع حتما باید همین آرگومان ورودی رو پس از ایجاد تغییرات بازگشت بده! یعنی همین آرگومان ورودی رو return کنه. آرگومانی ورودی این تابع یک آرایه از المان های روی صفحه مرورگر هست که بسته به نوع هر المان خصوصیات هر اندیس از این آرایه فرق میکنه. برای اطلاعات بیشتر درباره این متغییر از پست اول همین تایپینگ به خصوصیات المان ها مراجعه کنید.
توجه:یکی از اندیس های آرایه ورودی این تابه که یک مقدار رشته ای است که با RV مشخص شده که خودش هم یه آرایه هست که اندیس value این مقدار به رویداد J_AFTER_ONFOCUS ارسال میشود.
- P_ONFOCUS_PLUGIN مشخص کننده نام پلاگینی هست که پروپرتی P_ONFOCUS_FUNCTION در controller اون تعریف شده.
- J_ONFOCUS_ONBLUR نام تابع جاوا اسکریپتی که بعد از رویداد P_ONFOCUS_FUNCTION اجرا میشه رو مشخص میکنه که باید فقط نام اون رو وارد کنید. در مرحله پیاده سازی این باید به صورتی تعریف بشه که یک آرگومان ورودی داشته باشه که این آرگومان مقدار برگشتی از رویداد P_ONFOCUS_FUNCTION در اون قرار داده میشه.
متد ها:
public function configure($key, $value)
این متد برای تنظیم کردن پروپرتی ها استفاده میشه که در آرگومان اول نام پروپرتی و در آرگومان دوم مقدار مربوطه قرار داده میشه.
public function draw()
این متد هیچ آرگومانی نداره و در صورت اجرا در واقع کنترل کامپایل میشه و کل کنترل return میشه که برای قرار دادن در محل های دلخواه استفاده بشه.
مثال: از مرحله ایجاد کنترل تا مرحله ترسیم آن
$a = new ctr_button();
$a->configure('J_ONCLICK_SRC','<script src="./plugins/hello/hello.js"></script>');
$a->configure('J_ONCLICK_FUNCTION','test');
$a->configure('P_ONCLICK_PLUGIN','hello');
$a->configure('P_ONCLICK_FUNCTION','test');
$a->configure('J_AFTERCLICK_SRC','<script src="./plugins/hello/hello.js"></script>');
$a->configure('J_AFTERCLICK_FUNCTION','test1');
echo $a->draw();
برای مشاهده نحوه ارتباط اجزا سمت سرور و سمت مرورگر و پیاده سازی کلاس ها به لینک زیر مراجعه کنید.
https://barnamenevis.org/showthread.p...=1#post2015448
فکر کنم بشه یک مورد Custom هم به این لیست اضافه کرد که کاربر در صورتی که هیچکدوم از این موارد رو نخواست بتونه خودش نوع دکمه رو طراحی کنهنقل قول:
- TYPE نوع دکمه رو مشخص میکنه که میتونه یکی از مقادیر زیر باشه. هر کدوم از مقادیر زیر ترکیب رنگ دکمه رو تغییر میدن برای مثال success رنگ دکمه رو سبز میکنه.
- default
- primary
- success
- info
- warning
- danger
- link
به نظر من اضافه کردن همین یک گزینه میتونه انعطاف پذیری خوبی بوجود بیاره
نحوه ی کار هم به این صورت می تونه باشه که کاربر نوع رو روی Custom تنظیم کنه و بعد خودش CSS های مربوط به اون رو بنویسه...
حالا خودت حرف من رو میتونی تکمیل ترش هم بکنی...
قبلا فکر اینجاش رو کرده بودم به همین دلیل پروپرتی CLASS رو قرار دادم که میشه باهاش نام کلاسها برای استایل دهی به کنترل اضافه بشه البته در هر صورت کلاس BOOTSTRAP اضافه میشه ولی میشه یه حالت none هم اضافه کرد که در این صورت از استایل دهی bootstrap استفاده نشه و فقط از کلاس هایی که در پروپرتی CLASS درج شدن برای استایل دهی استفاده کرد.
البته در این حالت باید یه پروپرتی دیگه برای چسباندن فایل css که کلاس ها در اون تعریف شدن هم تعریف کنیم.
مورد Custom که فرمودید میشه دربارش بیشتر توضیح بدید. منظورتون اینه که همونجا مستقیما دستورات css درج بشه یا اینکه فقط نام کلاس ها رو درج کنیم و در فایل css قالب کلاس ها رو تعریف کنیم؟
ممنونم که در بحث شرکت کردید چون واقعا داشتم نا امید میشدم!:چشمک:
به نظرم یه قابلیت کاستوم بذارین که فرد css بده یا اگه خواست نام کلاس رو تنظیم کنه یا آیدی المنت رو.
تنظیم آی دی نمیشه چون پروپرتی NAME همون آی دی المان هست.
روی تنظیم نام کلاس بحثی نیست چون با پروپرتی CLASS میشه تنظیمش کرد. به نظرتون بهتره طرف مستقیما CSS وارد کنه تا توسط پروپرتی CLASS کلاس های مربوط به المان رو تعیین کنه بعدش آدرس فایل CSS که این کلاس ها داخل اون تعریف شدن رو وارد کنه.
به نظرتون مزایا و معایب هر کدوم چی هست؟
اینکه روی کنترل باتون حساسیت دارم دلیلش اینه که میخوام موارد پیاده سازی شده برای این کنترل شبیه یه استاندارد برای همه ی کنترل های دیگه هم پیاده سازی بشه.
در مورد Custom میشه اینطور توصیف کرد که اگه کاربر این گزینه رو Set کرد ، مثلا بیاد یا آدرس فایل CSS مربوطه رو بده ، یا این که مستقیما CSS رو درج کنه .. یک چنین چیزی
در کل چیزی که بنده مد نظر دارم اینه که کاربر به بهترین نحو و به راحتی بتونه کنترل ها رو ویرایش بکنه ... چون اینا از نظر رابط کاربری که تخصص بنده هست مواردی محسوب میشن که به انعطاف پذیر شدن رابط کاربری کمک زیادی میکنن ، مثلا یه نفر دوست نداره از Bootstrap توی پروژه خودش استفاده کنه و میخواد از استایل مورد نظر خودش استفاده بکنه...
من Custom رو به عنوان مثال خدمتتون عرض کردم ، بی شک بهترین روش رو شما بهتر از من می دونید کدومه ...
البته این که گفتید سرانجام این فریمورک به یک IDE میرسه خیلی نظر منو جلب کرد و یجورایی مشتاق تر شدم که توی این پروژه نظر خودم رو بگم
چون خودم هم توی این فکر بودم که یک IDE مخصوص وب طراحی کنم ...
فقط یک سوال : IDE رو با چه زبانی قصد دارید پیاده کنید ؟
منم فکر میکنم بهترین گذینه برای شخصی سازی همین هست که شما فرمودید. سعی میکنم در روز های آینده انجامش بدم .
هدف نهایی این فریمورک این نیست که یه چیزی شبیه به cakephp یا yii بشه. من تو فکر اینم که همزمان با توسعه فریمورک یه ide هم براش طراحی کنم که محیطی شبیه به توسعه برنامه های تحت ویندوز فراهم بشه که برنامه نویس فقط کنترل ها رو روی فرم بکشه و برای رویداد های هر کنترل کد بنویسه.
زبان برنامه نویسی که میخوام استفاده کنم Qt هست البته فعلا تصمیم قطعی نگرفتم اگه گذینه بهتری مد نظرتون هست بفرمایید.
به نظرتون در درجه اول چه رویداد هایی برای کنترل ها پیاده سازی بشه که استفاده بیشتری دارند؟
تغییرات در کنترل button انجام شد.
پروپرتی TYPE اگه مقدار none بگیره استایل دهی bootstrap از کنترل حذف میشه
پروپرتی STYLE اضافه شد که توسط اون مستقیم میشه به کنترل دستورات CSS نسبت داد
پروپرتی CSS_FILE هم برای چسپاندن فایل CSS به هدر صفحه اضافه شد.
داکیومت راهنمای ویرایش شده رو میتونید از آدرس زیر مشاهده کنید.
https://barnamenevis.org/showthread.p...=1#post2006814
Qt فریمورک خیلی قدرتمند و خوبی هست و البته متن باز و Cross-Platform ... خیلی خوب میشه اگه این IDE رو بتونیم برای سیستم عامل ویندوز و لینوکس و مک طراحی کنیم...
من خودم قصد داشتم با دلفی یک IDE بنویسم ، اما چون دیدم شما هم تو فکر ساخت IDE هستید گفتم ایده های خودم رو با شما در میون میزارم و توی این پروژه یجورایی شریک میشم باهاتون...
مثلا یکی از ایده های من Project Timeline هستش که میاد زیر پروژه یه Timeline ایجاد میکنه و شما فقط تاریخ شروع پروژه و حدود تاریخ پایان پروژه رو بهش میدید و اون میاد براتون حساب میکنه پروژه چند درصد پیشرفت کرده ، در طی ساخت پروژه کجا چه اتفاقاتی افتاده و... در کل یجورایی میاد پروژه رو مونیتور میکنه و پائین صفحه به کاربر نشون میده ... اما قابلیتی هست که کاربر میتونه اگه اون رو نخواست ازش استفاده نکنه ...
یکی دیگه از مواردی که من همیشه بهش فکر میکردم این بود که چرا پلاگین های Eclipse و Netbeans و Sublime Text و... همشون با زبان های غیر از وب نوشته میشن ؟ چرا مثلا با جاوا اسکریپت نمیشه براشون پلاگین نوشت ...
منظورم اینه که وقتی یک شرکت یا یک گروه میاد برای برنامه نویسان وب یک IDE طراحی میکنه پس قابلیت پلاگین نویسی اون رو هم باید با زبان های مرتبط با وب پیاده کنه ... مثلا با جاوا اسکریپت و HTML ...
من دنبال این بودم که IDE که میخوام طراحی کنم قابلیت پلاگین نویسی با جاوا اسکریپت رو داشته باشه تا هر کسی که حداقل آشنایی با این زبان رو داره بتونه یه پلاگین ساده برای خودش بنویسه
پیاده سازیش هم کار مشکلی نیست ... توی دلفی از یک Compiler ـه جاوا اسکریپت به نام PaxCompiler میشه استفاده کرد که کار ترجمه ی فایل ها رو انجام بده...
خلاصه هر IDE که من دیدم یجورایی یه ضعفی داشت ... مثلا بعضی از IDE ها Auto-Complate خوبی ندارند و...
در مورد رویداد ها هم فعلا چیزی به ذهنم نمیرسه ... از دوستان دیگه سوال کنید.
خسته نباشید.
ایده جالبی بود.
برای توسعه همچین محیطی حقیقتا نیاز به همکاری بقیه هم هست که تیمی متشکل از حداقل ۵ نفر تشکیل بشه. بنده خودم میتونم در کد نویسی و تهیه مستندات uml برای توسعه کمک کنم.
البته به نظرم در این پروژه بر خلاف سرکش ابتدا کار رو با جذب نیرو شروع کنیم بهتر میتونه باشه. همچنین باید توسعهی این IDE با توسعه سرکش در یک راستا باشه .هرچند ایجاد محیط پایه IDE و بخش های عمومی مثل AUTO COMPLETE و index کردن الحاقات پروژه های ورودی خودش کلی زمان میبره که توسعه داده بشه.
به نظرم برای این پروژه تایپینگ جدا در نظر گرفته بشه و دربارش بیشتر بحث بشه خیلی بهتره و مزیتش اینه که مباحث مربوط به IDE و فریمورک سرکش قاطی نمیشن.
اگه دیر جواب دادم ببخشید چون برای یه کاری مجبور شدم برم تهران و اونجا دسترسی به اینترنت نداشتم.
حلقه گم شده رویداد ها در سرکش میتونه دسترسی به المان های html و تغییر خواص اونها از طریق php باشه . با پیاده سازی این قضیه شما دیگه نگران تغییر خواص کنترل ها و نوشتن کد های زیاد javascript برای تغییر یه کنترل نخواهید بود.
هدفم یه همچین چیزی هست که در زیر میبینید که به تابع php که رویداد کلیک رو اجرا میکنه یه ارایه از اشیا از تمام کنترل های فرم به این تابع ارسال بشه و برنامه نویس بعد از اعمال تغییرات اونو return کنه
public function test_onclick($form){
$form['control1']->name='test';
$form['ttextbox1']->label = "click me";
return $form;
}
طبق تجربه ای که من داشتم اکثر برنامه نویسان تحت دسکتاپ ( دلفی ، کیوت و C++ ... ) فقط دارن این زبان ها رو یاد میگیرن و هیج جا بطور جدی ازشون استفاده نمیکنن و تعداد انگشت شماری از اونا هستن که مایل هستن که از دانشی که براش زحمت کشیدند توی یک پروژه استفاده کنند!
منظورم اینه که با وضع فعلی کپی رایت و فروش نرم افزار توی ایران ، فقط شدیم مصرف کننده ... البته خب بنده یک مقدار بهشون حق میدم ، اما خب بعضی نرم افزارها واقعا قدرت مانور دارن ، حتی توی ایران!
مثل همین IDE ... من و شما وب کار کردیم و می دونیم بین IDE هایی که برای وب استفاده میشن هیچکدوم ایرانی نیستن ...
ما اگه بتونیم یک IDE با ویژگی های خاص ، با ابزارهای جدید و بومی تولید کنیم ، و قیمت اون رو هم منصفانه ارزیابی کنیم ، احتمال موفقیت برای این نرم افزار خیلی زیاد خواهد بود...
هستند افرادی مثل خوده من که دوست دارند تا حد امکان از نرم افزارهای ایرانی استفاده کنند و اگه این اعتماد بوجود بیاد که این نرم افزار واقعا ارزش هزینه کردن رو داره حاضرن پولش رو هم پرداخت کنند
من خودم طرفدار Open-Source و نرم افزار آزاد هستم ، اما این به این معنی نیست که فقط از نرم افزارهای رایگان استفاده میکنم و حاضر نیستم واسه هیچ نرم افزاری پول بدم!!
مطمئن باشید توی ایران اکثر کسایی که وب کار میکنن حاضر میشن این IDE رو بخرن ... حداقل برای حمایت از تولید ایرانی ...
من تحت دسکتاپ آشنایی زیادی با C++ ندارم و چیزایی که بلدم فقط به درد خودم میخوره ... در اون حدی نیستم که بتونم توی توسعه بوسیله ی کیوت کمک کنم...
اما بالاخره هر قسمتی نیاز باشه ، مخصوصا رابط کاربری که به نظرم باید با اصول طراحی بشه میتونم کمک کنم ... و همچین گرافیک ...
فعلا باید تمرکزمون رو روی فریمورک بزاریم و اون رو به یک مرحله ی پایداری برسونیم ، مرحله ای که غیر از خودمون چار نفر آدم متخصص تر بتونن با بررسی اسمش رو فریمورک بزارن ...
وقتی فریمورک به اون مرحله برسه کم کم با تحقیق و مطالعه میشه برای شروع IDE اقدام کرد ...
من خودمم درگیری زیاد دارم ، این چند روزه هم صد بار اینترنتم قطع شد ... مشکلی نیست دوست خوبم :چشمک:نقل قول:
اگه دیر جواب دادم ببخشید چون برای یه کاری مجبور شدم برم تهران و اونجا دسترسی به اینترنت نداشتم.
هدف از ارائه همچین پروژه ای علاوه بر اهداف علمی و ... حقیقتا کسب درآمد هم هست.
بعد از رسیدن سرکش به پایداری میخوام از طریق فروش پلاگین های کاربردی براش کسب درآمد کنم. مثلا بعد از توسعه سرکش میخوام یه پلاگین برای سیستم های اتوماسیون اداری بنویسم که تحت همین فریمورک کار کنه.
همچنین برای بحث IDE هم قصد دارم به صورت متن باز توسعش بدم و برای پشتیبانی و نسخه های حرفه ای از مصرف کننده پول گرفته بشه.
اگه این فریمورک کاربران زیادی پیدا کنه حتی میشه با فروش کتاب و آموزش های تصویری و برگذاری کلاس های آموزشی هم کسب درآمد کرد ولی فعلا پلن اصلی همین فریمورک هست که کم کم در حال شکل گرفتن هست مخصوصا با کامیت هایی که به تازگی روی مخزن ارسال خواهم کرد میشه مستقیما از طریق کدهای PHP به رابط کاربری دسترسی پیدا کرد و المان های HTML رو تغییر داد یا مقدارشون رو خوند.
فعلا از همین کنترل ctr_button به عنوان نمونه استفاده میکنم و بعد از پایدار کردن و پیاده سازی ایده اصلی که مد نظرم هست سایر کنترلها هم پیاده سازی میشه.
در فاز بعدی هم بحث غنی کردن کلاس های کتابخانه ای مطرح هست که باید مجموعه ای از کلاسهای کاربردی برای استفاده پلاگین نویسا در هسته قرار داده بشه .
بیشتر چیزایی که الان در سرکش پیادهسازی شده در واقع برای نشان دادن ایده اصلی و سازوکار استفاده هست که باید به مرور کامل بشه.
شما هم اگه قصد همکاری بیشتر دارید به نظرم تو بحث کامل کردن کلاس های کتابخانه ای برای فریمورک فعالیت کنید. اگه موافقیت تا بنده مستندات اضافه کردن کلاس ها رو براتون پیام خصوصی کنم . همچنین پروژه از سیستم کنترل نسخه git استفاده میکنه که اگه باهاش کار نکردید بفرمایید که آموزش استفاده از اون رو هم همینجا قرار بدم.
طبق آخرین کامیتی که روی مخزن ارسال شد تغییرات زیر رو اعمال کردم.
- یک آرایه از کل المان های html با خواصشون که دارای خاصیت FORM یکسان هستند به تابعی که با رویداد مورد نظر قراره اجرا بشه , ارسال میشه.
- کلاس cls_uiobjects هم برای نگه دارای خاصیت المان های روی مرورگر کاربر اضافه شد.
- متد run_control از کلاس cls_router هم بازنویسی شد.
فعلا اطلاعات المان ها به سمت سرور ارسال میشه ولی فعلا اجرای تغییرات روی المان پیاده سازی نشده که در کامیت های بعدی این کار رو هم انجام میدم. با اتمام این کار اولین کنترل html که مستقیما میتونه از سمت سرور رویداد داشته باشه ساخته میشه . همچنین در سمت سرور به کل المان های html روی مرورگر هم دسترسی داریم و میتونیم اونا رو تغییر بدیم.
با توجه به اینکه سفارش طراحی یک قطعه خودرو گرفتم که باید طراحی کنم تا حدود 3 ماه آینده شیب توسعه سرکش کمی کند میشه ولی سعی میکنم در همین 3 ماه هم تمام کنترل های مورد نظر رو پیاده سازی کنم.
کارتان را آغاز کنید ، توانایی انجامش به دنبال آن می آید. ( کوروش بزرگ )
برای اولین بار موفق شدم ارتباط بین مرورگر و سرور رو در کنترل button برقرار کنم به صورتی که هم میشه برای این کنترل تابع رویداد سمت سرور تعیین کرد و هم اینکه میشه از سمت سرور به المان های html روی مرورگر دسترسی داشت و پروپرتی های هر کدوم رو تغییر داد .این ارتباط به صورت ajax انجام میشه و همون لحظه تغییرات از سمت سرور روی مرورگر اعمال میشه!
بعد از کامل شدن این بخش از کار مستنداتش رو قرار میدم.
الان که فکر میکنم اصلا فکر نمیکردم از دنیای altium designer و آی سی های fpga بیفتم تو فاز php .
کلا حس خوبی دارم :کف:
تغییرات جدید:
-چندین باگ در کلاس cls_page رفع شد.
-تغییر در نحوه مدیریت بلوک های روی صفحه
-پیشرفت در رویداد onclick هم در سمت سرور و هم روی مرورگر.
جزپیات در آخرین کامیت روی پروژه قابل مشاهده هست.
فاز اجرای معماری مدنظرم برای کنترل ctr_button امشب به پایان رسید. خوشبختانه میتونم بگم با سرچ هایی که من داشتم تا حالا این ایده به ذهن کسی نرسیده که بخواد رویداد های سمت سرور رو به مرورگر متصل کنه.البته در فریمورک پردادو همچین چیزی وجود داره ولی ایجکس نیست و نیاز به ریفرش صفحه هست . ولی در سرکش همه رویداد های سمت سرور به صورت ایجکس انجام میشه و تغییرات هم به صورت ایجکس روی مرورگر اعمال میشه!
بنده تعدادی پروپرتی برای کنترل ctr_butoon در نظر گرفتم که در پست مربوطه بیشتر دربارش توضیح میدم همچنین یه سری پروپرتی جدید هم به این کنترل اضافه شده. اگه به نظر شما چیزی از قلم افتاده خوشحال میشم بگید که اعمال کنم! :چشمک:
برای مشاهده لیست پروپرتی ها و رویداد های این کنترل لینک زیر رو مشاهده کنید.
https://barnamenevis.org/showthread.p...=1#post2006814
همچنین برای توسعهی کلاس های پایه هم به یک فهرست نیاز دارم که این کلاس ها به هسته اضافه بشه . اگه کسی لیستی مد نظرش هست دریغ(ق) :لبخند: نکنه!
تغییرات جدید:
چندین باگ اساسی از ctr_button فیکس شد.
مورد بعدی رویداد onclick که خودش به سه رویداد J_BEFORE_CLICK و P_CLICK و J_AFTER_CLICK تقسیم میشه به صورت کامل پیاده سازی شد.
در CLS_UIOBJECTS هم چندین باگ فیکس شد.
http://s5.picofile.com/file/8121959492/events.png
ساختار مدیریت رخداد ها در سرکش و تعامل سمت مرورگر و سمت سرور توسط JSEC و PSEC
فعلا فقط برای سه رویداد ذکر شده!
روز جمعه خوبی بود!
ctr_butoon به همراه سه رویداد onclick و onfocus و onblur که هر کدوم شامل دو رویداد سمت مرورگر و یک رویداد سمت سرور هستند کاملا پیاده سازی شد.
همچنین تعدادی از پروپرتی های این کنترل که کاربرد تکراری داشتند حذف شدند.
تمام پروپرتی هایی که برای چسپاندن فایل های جاوا اسکریپت به هدر صفحات استفاده میشدن جای خودشون رو به پروپرتی SCRIPT_SRC دادند . در واقع توسعه دهنده باید توابع جاوا اسکریپتی که میخواد در صورت اجرای رویداد ها اجرا بشه رو داخل یک فایل بنویسه و آدرس اونو به این پروپرتی بده که به صفحات الصاق بشه.
همچنین برای سبک کردن حجم فایل های جاوااسکریپت برای مدیریت رخداد ها تمام فرآیندهای اجرای رخداد ها در هم ادغام شد که خروجی اون دو تا فایل هست که یکی روی مرورگر قرار داده میشه که من اسمشو گذاشتم JSEC و یکی هم متد run_control از کلاس cls_ruter هست که اسمشو گذاشتم PSEC که اینا با همکاری هم تمام رویداد های کلیک و فوکوس و بلار و .. رو هندل میکنن.
مورد بعدی اینکه چون پلاگین هایی که تا حالا واسه سرکش نوشته شده به صورت ساده هستند و از رویداد ها در اونها استفاده نشده به همین دلیل . اگه از برنامه زمانی که در پست اول قرار دادم جلو بیفتم شروع به بازنویسی اونها میکنم که از اولویت ها پلاگین محیط مدیریت و مدیریت کاربران خواهد بود.
با توجه به اینکه کسی در توسعه مشارکت نمیکنه و خودم دست تنهام متاسفانه برنامه زمانی توسعه خیلی بلند شده . ولی اگه حداقل یک تیم 4 برای توسعه فریمورک و یک تیم 3 نفره برای توسعه IDE تشکیل داد. میشه ظرف یک سال ازش پول ساخت . خود فریمورک به صورت متن باز منتشر میشه ولی IDE پولی خواهد بود .
من اینجور فکر میکنم وقتی میشه دقیقا همون طوری که با دات نت تو ويزوال استودیو میشه برنامه نوشت و کنترل ها رو روی فرم درگ کرد و برای رویداداشون کد نوشت وقتی همچنین نوع برنامه نویسی روی مرورگر بیاد قطعا با استقبال مواجه میشه.
من فکر میکنم ایده پشت سرکش با توجه به جدید بودنش و اینکه تا حالا کسی سمتش نرفته میتونه در زمان کوتاه موفقیت زیادی به دست بیاره. که متاسفانه این زمان به سرعت برای من در حال گذر هست به صورتی که به جهت کار بنده روی چند پروژه دیگه توسعه فریمورک از ۲۰ همین ماه تا مدتی حدود ۴ ماه به پایین ترین سرعت خودش خواهد رسید.
در این ۱۱ ماه توسعه من از چند فایل PHP که اسمشو زندیق گذاشته بودم به سیستمی رسیدم که اگه کمی بیشتر روش کار بشه مخصوصا بخش کلاس های کتابخانه ای میتونه حرفی برای گفتن داشته باشه. در توسعه سرکش ایده های بنده به همراه روش های استاندارد دیگه از جمله MVC و شی گرایی با هم پیش رفتن و در سیستم جاسازی شدند هر چند همین کار باعث شد خیلی جاها سورس هایی که کلی براشون زحمت کشیده بودم با یه شیفت دلیت ساده پاک بشن.
کلام آخر اینکه توسعه سرکش دیگه تو این تالار ادامه پیدا نمیکنه و در اواخر مرداد ماه بر روی sarkesh.org منتقل خواهد شد که این وب سایت هم با همین فریمورک ساخته خواهد شد.
دوستانی هم که قصد دارن از آخرین خبر ها درباره این فریمورک و دریافت داکیومنت های آموزش کلاس ها و ... مطلع بشن میتونن یک ایمیل خالی با عنوان news به news@sarkesh.org ارسال کنند تا خبرنامه براشون ارسال بشه.
همچنین با مراجعه با http://github.com/morrning/sarkesh از آخرین تغییرات پروژه مطلع بشید. از پروژه هم میتونید fork بگیرید.
نتیجه کامل شده ctr_button زو هم میتونید از آدرس زیر تست کنید که چطور رویداد های سمت سرور باعث تغییر المان های html روی مرورگر میشن.
http://sarkesh.org/?plugin=users&action=test
مولا نگهدار
http://www.aparat.com/v/FwO7k
پیشنهاد میکنم حتما حتما حتما این ویدئو رو ببینید.در این ویدئو میبینیم که چطور در این فریمورک میشه توابع سمت سرور رو اجرا کرد و کنترل های روی صفحه رو تغییر داد. فقط کمی هول شدم همش میگفتم درواقع:لبخند:
ابتدا یک اکشن برای پلاگین HELLO ساختم سپس یه دکمه(ctr_button ) نشون دادم. و در نهایت برای این دکمه رویداد کلیک سمت سرور تعریف کردم. دوستان عزیر در این فیلم دقیقا به ایده نو این فریمورک پی میبرید.
توی این ویدئو ، کدنویسی رو توی کدوم محیط انجام میدادی ؟
بله بابک جان ... این نرم افزار ظاهرا Cross-Platform هست...
در مورد سوالت هم به نظر من این برای همه ی کاربران شاید به درد نخوره .. ولی به درد خیلی از افراد حرفه ای میخوره .. مثلا آقای شهرکی دیگه بعد از این همه سال واقعا دیگه چه نیازیه که برای یک پروژه با کدهای Client-Side سر و کله بزنه ... به خصوص در حالتی که قالب رو یه نفر دیگه روش کار کرده باشه ...
در کل به نظر من امکان مفیدی خواهد بود.
از امروز سایت GITHUB به عنوان مخزن اصلی پروژه انتخاب شد.
تغییرات جدید
کنترل های tabbar checkbox textbox combobox پیاده سازی شدند.
قابلیتی که اکثر طراحان بهش نیاز دارن اینه که یه جدول از دیتابیس رو به یه combobox متصل کنند و این قابلیت در این کنترل قرار گرفته.
بعد از پایان کار کنترل ها طراحی سایت sarkesh.org آغاز میشه که لازمه اون یه ریویو روی پلاگین هایی هست که تاکنون نوشته شدن.
بعد از پایان توسعه کنترل ها قصد دارم یه pdf دربارشون بنویسم.
تغییرات جدید:
کنترل ctr_table با قابلیت تغزیه از آرایه های دو بعدی از دیتابیس و همچنین با قابلیت اضافه کردن سطری از آرایه تکمیل شد.
فقط کمی روی ظاهر کنترل باید کار بشه که انشالله در روز های آینده انجام میشه.
همچنین رویداد ONCHANGE به کنترل CTR_COMBOBOX اضافه شد.
اطلاعات تکمیلی رو میتونید از لیست کامیت ها مشاهده کنید.