برگزیده های پرشین تولز

اضافه کردن فیلد در ام تی

khajavi

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2004
نوشته‌ها
59
لایک‌ها
0
راستش یکی دو ماهی هست میخوام در مورد اضافه کردن فیلد در مویبل تایپ چیزی بنویسم. اما وبلاگم تو کاسپین مرحوم شد برا همین دیگه به نوشتن ادامه ندادم و دیگه ادامه هم نمیدم تا ببینم چی میشه

اما حیفم امد ننویسم برا همین همینجا میزارمش
 

khajavi

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2004
نوشته‌ها
59
لایک‌ها
0
ستي
اضافه کردن فيلد با استفاده از پلاگين ExtraFields
هر يک از اين دو روش معايب و مزاياي مخصوص به خوشون را دارند. در پايان به معايب و مزاياي هر يک اشاره کرده ام.

چگونه کار مي کند؟
همان طور که مي دانيد يا نمي دانيد تمام اطلاعاتي که به مويبل تايپ مي دهيم در ديتابيس ذخيره مي شود. در نتيجه بايد براي فيلد هاي جديدي که در ام تي مي خواهيم ايجاد کنيم برابر آن در ديتابيس فيلد جديدي ايجاد کنيم و سپس براي هر فيلد يک تگ در ام تي ايجاد کنيم.

روش اول: ايجاد فيلد ها به صورت دستي
چند کلمه قبل از شروع:
1) پيشاپيش يک نسخه ي پشتيبان از داده ها بگيريد
2) من هيچ گونه مسئوليتي در قبال مشکلات احتمالي تقبل نمي کنم. (آخه خودتون که مي دونيد. ما حق دستکاري در اين کد ها را نداريم و اين يک جور hack محسوب ميشه)
3) اين عميليات روي MT3.17 به خوبي جواب داد در مورد نسخه هاي ديگه اطمينان ندارم. (دوستان اگه روي ورژن هاي ديگه امتحان کردند حتما تو کامنت ها بگويند رو چه نسخه اي جواب داد)
4) عوض کردن فايل هاي ام تي باعث مي شود کار شما را در هنگام به روز رساني نسخه ي قديمي ام تي دشوار کند.
5) در آينده در صورتي که بخواهيد از اطلاعات خود بک آپ بگيريد در هنگام Export با مشکل مواجه مي شويد. البته اين مشکل قابل حل هست ولي من زياد وارد نيستم.

مرحله ي اول: اضافه کردن فيلد جديدي در DataBase
توسط phpMyAdmin وارد database مربوط به مويبل تايپ شويد. سپس يک فيلد جديد در تيبل mt_entry ايجاد کنيد. اسم فيلد را entry_user1 بگذاريد يا هر اسم دلخواه ديگه و حتما بايد اولش با “entry_” شروع شود.

مرحله ي دوم: تغيير در Lib/MT/Entry.pm
در اين فايل شما چنين قسمتي را پيدا مي کنيد:
کد:
columns => [
'id', 'blog_id', 'status', 'author_id', 'allow_comments',
'title', 'excerpt', 'text', 'text_more', 'convert_breaks',
'to_ping_urls', 'pinged_urls', 'allow_pings', 'keywords',
'tangent_cache',
فيلد جديد خود را بدون پيشوند (entry_) وارد کنيد. مانند زير:

کد:
'tangent_cache','user1',
مرحله ي سوم: اضافه کردن جعبه ي متني در Editor
فايل زير را پيدا کنيد:

کد:
tmpl/cms/edit_entry.tmpl
سپس خط هاي زير را پيدا کنيد:
کد:
<TMPL_IF NAME=DISP_PREFS_SHOW_KEYWORDS>
<div class="field">
<label for="keywords"><MT_TRANS phrase="Keywords"></label> <a href="#" onclick="return openManual('entries', 'item_keywords')" class="help">?</a><br />
<textarea class="full-width" name="keywords" id="keywords" tabindex="6" rows="2"><TMPL_VAR NAME=KEYWORDS ESCAPE=HTML></textarea>
</TMPL_IF>
پس از خط هاي بالا خط هاي زير را وارد کنيد:

کد:
<div class="field">
<label for="user1"><MT_TRANS phrase="user1"></label> <br />
<textarea class="full-width" name="user1" id="user1" tabindex="6" rows="2"><TMPL_VAR NAME=USER1 ESCAPE=HTML></textarea>
</div>
مرحله ي چهارم: اضافه کردن تگ جديد
فايل زير را پيدا کنيد:

کد:
lib/MT/Template/Context.pm
حدود سطر 70 به بعد خط هايي را مي بينيد که با متن زير شروع مي شوند:

کد:
$ctx->register_handler...
خط زير را اضافه کنيد:

کد:
$ctx->register_handler(EntryUser1 => \&_hdlr_entry_user1);
اين خط به MT فرمان مي دهد تگي به نام “MTEntryUser1” ايجاد کند. متن قرمز رنگ نام تگ شما مي باشد يک نام دلخواه انتخاب کنيد.

کمي پايين بيايد تا از قسمت خارج شود حدود خط هاي 255 خطوط زير را وارد کنيد:
کد:
sub _hdlr_entry_user1 {
my $e = $_[0]->stash('entry')
or return $_[0]->_no_entry_error('MTEntryUser1');
defined $e->user1 ? $e->user1 : ''; }
مرحله ي پنجم: تغيير در قالب جست و جوي MT
در صورتي که شخصي کلمه اي را در MT جست و جو کند MT فقط در تگ هاي استاندارد خود به جست و جو مي پردازد. براي رفع اين مشکل فايل زير را پيدا کنيد:

کد:
/lib/MT/App/Search.pm
حدود سطر 440 خطوط زير را پيدا کنيد:

کد:
@text_elements = ($entry->title, $entry->text, $entry->text_more,
                          $entry->keywords,);
خطوط بالا را به شکل زير تغيير دهيد:

کد:
@text_elements = ($entry->title, $entry->text, $entry->text_more,
                          $entry->keywords, $entry->english_title);
حالا شما تگ جديدي به نام زير پيدا کرده ايد:

کد:
<MtEntryUser1>
 

khajavi

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2004
نوشته‌ها
59
لایک‌ها
0
راه دیگه استفاده از پلاگین extre field هست که توضیح احتیاج نداره (یعنی حوصلش را نداشتم)

و بهترین و مطمئن ترین راه استفاده از پلاگین CostumField هست. دست Movalog.com درد نکنه گل کاشته یعنی آخرشه.
 

azizaa

مدیر بازنشسته
تاریخ عضویت
16 نوامبر 2004
نوشته‌ها
422
لایک‌ها
0
Kevin Shay آن پلاگين قديمي خودش را توسعه داده و يک چيز جديد و بسيار عالي درست کرده که به CustomFields آرويند ترجيحش مي دهم. اسمش هم هست RightFields. البته هنوز به طور عمومي منتشرش نکرده ولي به طور خصوصي چرا! من يک نسخه اش را دارم. داده بود تا بعضي از Developer ها نظرشون رو بدن. حالا شما هم يک نگاه بندازين بد نيست.

از حالا به بعد فکر کنم کمکم بايد ام تي را جزو CMS ها دسته بندي کنيم و نه Weblog publishing tools!
 

فایل های ضمیمه

  • RightFields-1.0a1.tar.gz.zip
    14.5 KB · نمایش ها: 15

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,289
لایک‌ها
34
محل سکونت
mt.cgi
از حالا به بعد فکر کنم کمکم بايد ام تي را جزو CMS ها دسته بندي کنيم و نه Weblog publishing tools!
ما تا حالا همین کار رو میکردیم که !
39.gif
 

Azemati

کاربر فعال
کاربر قدیمی پرشین تولز
تاریخ عضویت
18 فوریه 2003
نوشته‌ها
3,366
لایک‌ها
4
محل سکونت
wp-config.php
به نقل از azizaa :
Kevin Shay آن پلاگين قديمي خودش را توسعه داده و يک چيز جديد و بسيار عالي درست کرده که به CustomFields آرويند ترجيحش مي دهم. اسمش هم هست RightFields. البته هنوز به طور عمومي منتشرش نکرده ولي به طور خصوصي چرا! من يک نسخه اش را دارم. داده بود تا بعضي از Developer ها نظرشون رو بدن. حالا شما هم يک نگاه بندازين بد نيست.

از حالا به بعد فکر کنم کمکم بايد ام تي را جزو CMS ها دسته بندي کنيم و نه Weblog publishing tools!
ايول ... هموني كه من يه مدت دنبالش بودم! اين رو قرار بود چند وقت پيش كه منتشر كنه! (به صورت عمومي)
 

khajavi

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2004
نوشته‌ها
59
لایک‌ها
0
به نقل از azizaa :
Kevin Shay آن پلاگين قديمي خودش را توسعه داده و يک چيز جديد و بسيار عالي درست کرده که به CustomFields آرويند ترجيحش مي دهم. اسمش هم هست RightFields. البته هنوز به طور عمومي منتشرش نکرده ولي به طور خصوصي چرا! من يک نسخه اش را دارم. داده بود تا بعضي از Developer ها نظرشون رو بدن. حالا شما هم يک نگاه بندازين بد نيست.

از حالا به بعد فکر کنم کمکم بايد ام تي را جزو CMS ها دسته بندي کنيم و نه Weblog publishing tools!
من برم امتحانش کنم و بیام.
ولی فکر نکنم به پای costum field برسه
 

khajavi

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2004
نوشته‌ها
59
لایک‌ها
0
به نقل از azizaa :
Kevin Shay آن پلاگين قديمي خودش را توسعه داده و يک چيز جديد و بسيار عالي درست کرده که به CustomFields آرويند ترجيحش مي دهم. اسمش هم هست RightFields. البته هنوز به طور عمومي منتشرش نکرده ولي به طور خصوصي چرا! من يک نسخه اش را دارم. داده بود تا بعضي از Developer ها نظرشون رو بدن. حالا شما هم يک نگاه بندازين بد نيست.

از حالا به بعد فکر کنم کمکم بايد ام تي را جزو CMS ها دسته بندي کنيم و نه Weblog publishing tools!


:blink: :blink: :blink: :blink: :blink: :blink:
:blink: :blink: :blink: :p :p :p :p :p :p :p :p
:blush: :blush: :blush: :blush: :blush:
:wacko: :wacko: :wacko: :wacko: :wacko:


بابا ایوووووووووووووووووووووووووووووووووووووووووووول
این چی بیده.
خاک وچوک
نفس من بیده.
همونی که دنبالش می گشتم.

راستی "عزیز" این پلاگین رو دیتا بیس کار می کنه؟
چجوریه
محشره
من که سکته ور بکنم
 

khajavi

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2004
نوشته‌ها
59
لایک‌ها
0
به نقل از azizaa :
Kevin Shay آن پلاگين قديمي خودش را توسعه داده و يک چيز جديد و بسيار عالي درست کرده که به CustomFields آرويند ترجيحش مي دهم. اسمش هم هست RightFields. البته هنوز به طور عمومي منتشرش نکرده ولي به طور خصوصي چرا! من يک نسخه اش را دارم. داده بود تا بعضي از Developer ها نظرشون رو بدن. حالا شما هم يک نگاه بندازين بد نيست.

از حالا به بعد فکر کنم کمکم بايد ام تي را جزو CMS ها دسته بندي کنيم و نه Weblog publishing tools!
عزیز چیجوری باید تو قسمت extraFields این پلاگین را به دیتا بیس وصل کنم.
انگاری مشکل داره.
چون رفتم تو دیتا بیس ام تی یه تیبل ساختم و اینجا اسمش را وارد کردم ولی نشد
خودتو تونستی این کار را انجام بدید؟
 

azizaa

مدیر بازنشسته
تاریخ عضویت
16 نوامبر 2004
نوشته‌ها
422
لایک‌ها
0
به نقل از khajavi :
عزیز چیجوری باید تو قسمت extraFields این پلاگین را به دیتا بیس وصل کنم.
انگاری مشکل داره.
چون رفتم تو دیتا بیس ام تی یه تیبل ساختم و اینجا اسمش را وارد کردم ولی نشد
خودتو تونستی این کار را انجام بدید؟

ببخشيد يادم رفت توضيحاتشو هم اضافه كنم


There's no documentation yet, but it's somewhat self-explanatory once you install it. Here are some highlights:* You can set the label for any field, the size of text fields and textareas, and the maxlength of text fields.* You can edit the choice lists for select menus and sets of radio buttons.* A "File" input type displays a file upload field right on the entry form, and a link to a file if it's on your server already (images will be displayed).* A "Linked entry" input type lets you select an entry from another weblog, or a different entry from the same weblog. For example, the "Team" field on the sample screen above might be linked to a weblog called Teams. There's a MTLinkedEntry container tag that lets you access the data from the linked entry.* There's a "Template Tags" configuration area where you can enter custom template tags, so that instead of using <$MTExtraFieldValue field="column4"$> you can use, say, <$MTEntryBattingAverage$>.* You can convert a configuration file from ExtraFields.This is an alpha version, and there are lots of missing features. (The "Entry Listing" tab in the plugin interface does nothing yet, for example.) But the core functionality seems to work pretty well. I'm already using this on my own installation and some client sites I'm developing. I'm compelled to mention that I don't recommend you use this version anywhere other than a test weblog (but you'll want to).A few instructions/caveats:* If you have MT in a cgi-bin directory and your server won't serve static files from there, you'll have to put rf_fields.js and rf_styles.css in your mt-static directory.* To see the link to the RightFields configuration interface, you have to go to the Plugins listing under System Overview. Eventually you'll be able to get there from an individual weblog's Plugins listing.* You have to have Blog Administrator permission for a given weblog to see it in the RightFields interface.* To use extra fields, you'll need to define a SQL table to store the data. The required definition for such a table is the same as described in the ExtraFields documentation:http://www.staggernation.com/mtplugins/ExtraFields/#Install_2* The template tags used to display the data stored in extra fields are the same as in ExtraFields:http://www.staggernation.com/mtplugins/ExtraFields/#Tags...plus the tag to display linked entries: <MTLinkedEntry field="excerpt">..</MTLinkedEntry> (MTLinkingEntries is coming soon.)* Under the Extra Fields tab, the number fields to the left of the fields let you set the order they'll appear in. This doesn't do any automatic renumbering yet, meaning it'll let you enter the same sort position for multiple fields.* The Custom Template Tags screen always gives you three blank ones. To add more than three, save three and you'll get three more.* File input type: The Upload Path is an absolute path on your server, which is where the files will be placed; the URL Path is a web-root-relative path that will be used in displaying or linking to the files.* Previewing an entry and saving or re-editing it loses the data in the entry's extra fields. This will be fixed.* Changing the datasource for extra fields will blow away your existing configuration for that weblog. This isn't a bug, but I'm planning to do basename-style locking on that field, with a warning. Until then, be warned.* You can't change the display order of the standard fields, and I don't think it's gonna happen, so don't get your hopes up. However, there may be an option to put the extra fields before the standard text fields (but after the title and category).Please note that this I'm ultimately planning to release this as shareware. It won't have a suggested donation, but a good old-fashioned honor-system shareware fee. So don't start to rely on it unless you'll ultimately be comfortable paying (US) $15 for personal use, $30 for educational/not-for-profit use, or $50 for commercial use, on a single MT installation.I'm not putting a link to this on my site yet, but feel free to forward this email or the links above to anyone who might be interested who isn't subscribed here.I welcome your comments, questions, feature suggestions, and bug reports (except about things that are obviously not yet implemented).​
 

khajavi

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2004
نوشته‌ها
59
لایک‌ها
0
عزیز خان دستت درد نکنه
اما من گیج شدم

من قبلا با extraFields کار کردم. اما الان نفهمیدم چی شد این پلاگین که کلی با ExtraFieldفرق می کنه.
اکسترا فیلد اصلا اینترفیس نداشت

:blink: :blink:
 

azizaa

مدیر بازنشسته
تاریخ عضویت
16 نوامبر 2004
نوشته‌ها
422
لایک‌ها
0
به نقل از khajavi :
عزیز خان دستت درد نکنه
اما من گیج شدم

من قبلا با extraFields کار کردم. اما الان نفهمیدم چی شد این پلاگین که کلی با ExtraFieldفرق می کنه.
اکسترا فیلد اصلا اینترفیس نداشت

:blink: :blink:
backbone is the same! it is still extra-fields but added some user interface and also some new features just becasuse of the new capabilities in the Plugin API of the MT3.2
 

Motahari

Registered User
تاریخ عضویت
22 فوریه 2003
نوشته‌ها
693
لایک‌ها
3
دوستان محترم و گرامي واسه ما كه زبون اجنبي بلد نيستيم هم يه فكري بكنيد.
قشنگ يكي بياد جلو سينه شو سپر كنه و راه و روش اين پلاگين رو ياد همه بده.
 

mAmluX

Registered User
تاریخ عضویت
18 می 2005
نوشته‌ها
343
لایک‌ها
0
محل سکونت
Milky Way
به نقل از azizaa :
Kevin Shay آن پلاگين قديمي خودش را توسعه داده و يک چيز جديد و بسيار عالي درست کرده که به CustomFields آرويند ترجيحش مي دهم. اسمش هم هست RightFields. البته هنوز به طور عمومي منتشرش نکرده ولي به طور خصوصي چرا! من يک نسخه اش را دارم. داده بود تا بعضي از Developer ها نظرشون رو بدن. حالا شما هم يک نگاه بندازين بد نيست.

از حالا به بعد فکر کنم کمکم بايد ام تي را جزو CMS ها دسته بندي کنيم و نه Weblog publishing tools!


این پلاگین فقط مخصوص 3.2 هست یا روی قبلی ها هم نصب میشه؟
 

niimaa

کاربر تازه وارد
تاریخ عضویت
1 فوریه 2006
نوشته‌ها
7
لایک‌ها
0
محل سکونت
Tehran
اين پلاگين خيلی چيز بدرد بخوريه اما يکی از مشکلات اينه که بعد از نصبش روی ام تی فارسی صفحه‌بندی به هم می‌خوره چون از قرار چب به راسته و با صفحه آرايی اينترفيس ادمين منافات داره (بابا ادبيات!). حالا کسی می‌دونه چطور می‌شه اين اشکال رو رفع کرد؟
 

Azemati

کاربر فعال
کاربر قدیمی پرشین تولز
تاریخ عضویت
18 فوریه 2003
نوشته‌ها
3,366
لایک‌ها
4
محل سکونت
wp-config.php
نيما جان پلاگين اكسترافيلد كه اينطوري بود كه اون فايله رو كه اضافه مي‌كرديم به خود ام‌تي رو اديت مي‌كرديم و مثلا راست به چپش مي‌كرديم يا سايز يا .... اين هم بايد بشه.
 

ITX

Registered User
تاریخ عضویت
20 می 2005
نوشته‌ها
591
لایک‌ها
0
محل سکونت
CyberSpace
میگم اینی که عزیز جان لینک داده بود برای دانلود با مطالب که برای توضیحات در آدرس موجود هستش با هم فرق میکنن! ورژن ها هم فرق میکنن...من که همینطوری چیزی سر در نیوردم..یه readme یا help یا یه چیز توی این مایه ها هم نیافتم...
راستی تا یادم نرفته...
توی بخش Standard Fields وقتی یدونه از چک باکس ها رو میزنی...توی IE ارور میده ولی توی FF خبری نیست...!!!!
 
بالا