Movable Type/Â裱£µ²óMT¥×¥é¥°¥¤¥óÊÙ¶¯²ñ - MT-Plugin¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤òÀºÆɤ¹¤ë

Â裱£µ²ó¤ÏMT::Plugin¥¯¥é¥¹¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤òÆɤߤޤ¹¡£

MT::Plugin¥¯¥é¥¹¤Ï²áµî¤ÎÊÙ¶¯²ñ¡¢ÆäËÂ裸²ó¡¢Â裹²ó¤Ç°·¤Ã¤¿registy¥ê¥Õ¥¡¥ì¥ó¥¹¤Ç´û¤Ë¤È¤ê¤¢¤²¤¿²Õ½ê¤¬Â¿¤¤¤¿¤á¡¢¥ê¥Õ¥¡¥ì¥ó¥¹¤òį¤á¤ë¤Ë¤È¤É¤á¤Þ¤¹¡£
¤Þ¤¿¡¢¼¡²ó¼è¤ê¾å¤²¤ëMT::Template::Context¤ÎÁ°ÃʤȤ·¤Æ¡¢¾ò·ï¥¿¥°¤ÎºîÀ®ÊýË¡¤ò¼è¤ê¾å¤²¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£

MT::Plugin
MT::Builder
MT::Template::Context

[edit]

Æ°²è¡ÊUstream¡Ë

Ustream¤Î¥Á¥ã¥ó¥Í¥ë¤Ï¤³¤Á¤é¡£
http://www.ustream.tv/channel/mt%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E5%8B%89%E5%BC%B7%E4%BC%9A

[edit]

DESCRIPTION

add_callback¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë$plugin¤Ï¡Ö¥³¡¼¥ë¥Ð¥Ã¥¯¤Î¼Â¹Ô»þ¤ËȯÀ¸¤·¤¿¥¨¥é¡¼¤òÆÃÄꤹ¤ëºÝ¤ËÍѤ¤¤Þ¤¹¡×¡ÊMovable Type ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ê¥Õ¥¡¥ì¥ó¥¹ - MT::Plugin¤è¤ê¡Ë¤È¤Î¤³¤È¡£

 MT::Foo->add_callback("pre_save", 10, $plugin, \&callback_function);

¥½¡¼¥¹¥³¡¼¥É¤ò¸«¤¿ÈϰϤǤÏadd_callback¥á¥½¥Ã¥É¦¤Ç$plugin¤ËÂФ·¤ÆÆÃÊ̤ÊÁàºî¤Ï¹Ô¤Ã¤Æ¤¤¤ë¤Î¤Ï¸«¤Ä¤±¤é¤ì¤Ê¤«¤Ã¤¿¤¿¤á¡¢¤ª¤½¤é¤¯¡¢callback_function¦¤Ç¥¨¥é¡¼È¯À¸»þ¤Ê¤É¤Ë$plugin¤Ë¥¨¥é¡¼¾ðÊóÅù¤ò¥»¥Ã¥È¤·¤Æ¤ª¤­¡¢¥³¡¼¥ë¥Ð¥Ã¥¯¼Â¹Ô¸å¤Ë$plugin¤«¤é¤½¤Î¥¨¥é¡¼¾ðÊó¤ò¤È¤ë¤Ê¤É¤ò°Õ¿Þ¤·¤Æ¤¤¤ë¤È»×¤ï¤ì¤ë¡Ê¡©¡Ë¡£

[edit]

ARGUMENTS¡¢METHODS

Movable Type ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ê¥Õ¥¡¥ì¥ó¥¹ - MT::Plugin¤òį¤á¤Ê¤¬¤éµ¤¤Ë¤Ê¤Ã¤¿¥Ý¥¤¥ó¥È¤ò¤È¤ê¤¢¤²¤ë¡£

[edit]

¾ò·ï¥¿¥°¥×¥é¥°¥¤¥ó¤Îºî¤êÊý

MT::Template::Context->add_conditional_tag¤ò»È¤¦¡£

MT::Template::Context->add_conditional_tag(
   ¥¿¥°Ì¾ => ¥Ï¥ó¥É¥é¤Ø¤Î»²¾È,
   [¥ª¥×¥·¥ç¥ó¤Î¥³¥ó¥Ç¥£¥·¥ç¥ó]
);

¤½¤·¤Æ¥Ï¥ó¥É¥é¤ÎÊý¤Ç¾ò·ïȽÄê¤ò¹Ô¤¤¡¢true¤Ê¤é1¡¢false¤Ê¤é0¤òÊÖ¤¹¤è¤¦¤ËÄêµÁ¤¹¤ë¡£
¥Ï¥ó¥É¥é¤Ï

sub ¥Ï¥ó¥É¥é {
  my ($ctx, $args, $cond) = @_;
}

¤Î¤è¤¦¤Ë°ú¿ô¤¬¤ï¤¿¤Ã¤Æ¤¯¤ë¡£
$ctx¤ÏMT::Template::Context¥ª¥Ö¥¸¥§¥¯¥È¡¢$args¤Ï¥¿¥°¤Î°À­¤Î¥Ï¥Ã¥·¥å¤Î»²¾È¡ÊÎ㤨¤Ð¡¢<MTHOGE hoge="foo" hoge2="var">¤È¤¤¤¦¥¿¥°¤Î¾ì¹ç¡¢

{
  hoge => 'foo',
  hoge2 => 'var',
}

¤¬ÅϤµ¤ì¤ë¡£$cond¤Ï¥È¡¼¥¯¥ó¤ò²ò¼á¤¹¤ë¾ò·ï¤Î¥ê¥¹¥È¤Çadd_condition_tag¤ÎÂ裲°ú¿ô¤Ë
ÁêÅö¤¹¤ë¡£Î㤨¤Ð¡¢$cond=add_condition_tag¤ÎÂ裲°ú¿ô¤Ë

{ EntryIfExtended => 0 }

¤È»ØÄꤹ¤ë¤È

   <MTEntryIfExtended>
   <$MTEntryMore$>
   </MTEntryIfExtended>

¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò½èÍý¤¹¤ë¤µ¤¤¤Ë<$MTEntryMore$>¤Ï̵»ë¤µ¤ì¤ë¡£¤¿¤À¤·¡¢$cond¤Ï¾ò·ï¥¿¥°¤Ç¤ÏÍøÍѤ¹¤ë¥±¡¼¥¹¤Ï¤¢¤Þ¤ê¤Ê¤¤¤È»×¤ï¤ì¤ë¡£

°Ê²¼¡¢¶ñÂÎÎã¡£

Îã¡Ë

MT::Template::Context->add_conditional_tag(
   IsPrimaryCategory => \&_hdlr_IsPrimaryCategory
);

sub _hdlr_IsPrimaryCategory {
    my ($ctx, $args, $cond) = @_;

    my $e = $ctx->stash('entry')
        or return $ctx->_no_entry_error('IsPrimaryCategory');
    my $main_category = $e->category;

    # Get the current category context

    my $cat = $ctx->stash('category') ||
        $ctx->stash('archive_category');
    return if ($cat eq '');

    if ( $main_category->id == $cat->id ) {
       return 1;
    } else {
       return 0;
    }
}
[edit]

¼¡²óͽÄê

MT::Template::Context¥¯¥é¥¹¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤òÆɤߤĤġ¢stash¤Î°·¤¤Êý¤Ë¤Ä¤¤¤Æ¼è¤ê¾å¤²¤Þ¤¹¡£

Åê¹Æ¼Ô¿ÊÃÏ | ¥Ñ¡¼¥Þ¥ê¥ó¥¯

| append.gif

tag: Movable Type¡¢MT¡¢MTPlugin¡¢ÊÙ¶¯²ñ


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

¥¢¡¼¥¯¥¦¥§¥Ö¤Î¥µ¡¼¥Ó¥¹¤ä¥½¥ê¥å¡¼¥·¥ç¥ó¤Ï¤³¤Á¤é