آژانس هواپیماییexchanging

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

شروع موضوع توسط khajavi ‏15 اکتبر 2005 در انجمن MovableType - مووبل تایپ

  1. khajavi

    khajavi کاربر تازه وارد

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

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

    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>
     
  3. khajavi

    khajavi کاربر تازه وارد

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

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

    Amiin کاربر فعال سینما کاربر فعال

    تاریخ عضویت:
    ‏13 آگوست 2005
    نوشته ها:
    2,273
    تشکر شده:
    7
    محل سکونت:
    تهران
    مرسی میلاد جان ! من هم اینا لازم داشتم ...
     
  5. azizaa

    azizaa مدیر بازنشسته

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

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

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

  6. Shahed

    Shahed کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    31
    محل سکونت:
    mt.cgi
    ما تا حالا همین کار رو میکردیم که ! [​IMG]
     
  7. appbannerkhuniresbanner
  8. Azemati

    Azemati کاربر فعال مووبل تایپ<br> فروشنده معتبر [<a title= کاربر فعال

    تاریخ عضویت:
    ‏18 فوریه 2003
    نوشته ها:
    3,366
    تشکر شده:
    1
    محل سکونت:
    wp-config.php
    ايول ... هموني كه من يه مدت دنبالش بودم! اين رو قرار بود چند وقت پيش كه منتشر كنه! (به صورت عمومي)
     
  9. khajavi

    khajavi کاربر تازه وارد

    تاریخ عضویت:
    ‏25 ژوئن 2004
    نوشته ها:
    59
    تشکر شده:
    0
    من برم امتحانش کنم و بیام.
    ولی فکر نکنم به پای costum field برسه
     
  10. khajavi

    khajavi کاربر تازه وارد

    تاریخ عضویت:
    ‏25 ژوئن 2004
    نوشته ها:
    59
    تشکر شده:
    0

    :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:


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

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

    khajavi کاربر تازه وارد

    تاریخ عضویت:
    ‏25 ژوئن 2004
    نوشته ها:
    59
    تشکر شده:
    0
    عزیز چیجوری باید تو قسمت extraFields این پلاگین را به دیتا بیس وصل کنم.
    انگاری مشکل داره.
    چون رفتم تو دیتا بیس ام تی یه تیبل ساختم و اینجا اسمش را وارد کردم ولی نشد
    خودتو تونستی این کار را انجام بدید؟
     
  12. azizaa

    azizaa مدیر بازنشسته

    تاریخ عضویت:
    ‏16 نوامبر 2004
    نوشته ها:
    422
    تشکر شده:
    0
    ببخشيد يادم رفت توضيحاتشو هم اضافه كنم


    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).​
     
  13. khajavi

    khajavi کاربر تازه وارد

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

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

    :blink: :blink:
     
  14. avajang.com .leftavajang.com.right
  15. azizaa

    azizaa مدیر بازنشسته

    تاریخ عضویت:
    ‏16 نوامبر 2004
    نوشته ها:
    422
    تشکر شده:
    0
    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
     
  16. Motahari

    Motahari Registered User

    تاریخ عضویت:
    ‏22 فوریه 2003
    نوشته ها:
    690
    تشکر شده:
    3
    دوستان محترم و گرامي واسه ما كه زبون اجنبي بلد نيستيم هم يه فكري بكنيد.
    قشنگ يكي بياد جلو سينه شو سپر كنه و راه و روش اين پلاگين رو ياد همه بده.
     
  17. mAmluX

    mAmluX Registered User

    تاریخ عضویت:
    ‏18 می 2005
    نوشته ها:
    343
    تشکر شده:
    0
    محل سکونت:
    Milky Way

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

    Shahed کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    31
    محل سکونت:
    mt.cgi
    فقط 3.2 !

    .
     
  19. niimaa

    niimaa کاربر تازه وارد

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

    Azemati کاربر فعال مووبل تایپ<br> فروشنده معتبر [<a title= کاربر فعال

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

    ITX Registered User

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

    azizaa مدیر بازنشسته

    تاریخ عضویت:
    ‏16 نوامبر 2004
    نوشته ها:
    422
    تشکر شده:
    0