送料無料 あす楽対応 トフィー 福袋 Toffy コーヒーメーカー カフェブレンダー 最大1000円OFFクーポン K-CM5 コーヒーマシーン 650ml 水洗 家電 キッチン ラドンナ LADONNA レトロ 保温 珈琲 送料無料 あす楽対応 トフィー 福袋 Toffy コーヒーメーカー カフェブレンダー 最大1000円OFFクーポン K-CM5 コーヒーマシーン 650ml 水洗 家電 キッチン ラドンナ LADONNA レトロ 保温 珈琲 701円 【送料無料】 【あす楽対応】 トフィー Toffy コーヒーメーカー カフェブレンダー 【最大1000円OFFクーポン】 Toffy K-CM5 トフィー コーヒーメーカー コーヒーマシーン カフェブレンダー 650ml 珈琲 保温 水洗 レトロ 家電 キッチン ラドンナ LADONNA 家電 キッチン家電 コーヒーメーカー・エスプレッソマシン コーヒーメーカー 家電 , キッチン家電 , コーヒーメーカー・エスプレッソマシン , コーヒーメーカー,保温,/isotomous1681196.html,LADONNA,701円,トフィー,キッチン,レトロ,ラドンナ,www.facentras.lt,家電,650ml,【送料無料】,カフェブレンダー,Toffy,K-CM5,コーヒーマシーン,【あす楽対応】,コーヒーメーカー,水洗,Toffy,トフィー,コーヒーメーカー,珈琲,カフェブレンダー,【最大1000円OFFクーポン】 家電 , キッチン家電 , コーヒーメーカー・エスプレッソマシン , コーヒーメーカー,保温,/isotomous1681196.html,LADONNA,701円,トフィー,キッチン,レトロ,ラドンナ,www.facentras.lt,家電,650ml,【送料無料】,カフェブレンダー,Toffy,K-CM5,コーヒーマシーン,【あす楽対応】,コーヒーメーカー,水洗,Toffy,トフィー,コーヒーメーカー,珈琲,カフェブレンダー,【最大1000円OFFクーポン】 701円 【送料無料】 【あす楽対応】 トフィー Toffy コーヒーメーカー カフェブレンダー 【最大1000円OFFクーポン】 Toffy K-CM5 トフィー コーヒーメーカー コーヒーマシーン カフェブレンダー 650ml 珈琲 保温 水洗 レトロ 家電 キッチン ラドンナ LADONNA 家電 キッチン家電 コーヒーメーカー・エスプレッソマシン コーヒーメーカー

送料無料 あす楽対応 トフィー 福袋 Toffy コーヒーメーカー カフェブレンダー 最大1000円OFFクーポン K-CM5 コーヒーマシーン 650ml 水洗 激安卸販売新品 家電 キッチン ラドンナ LADONNA レトロ 保温 珈琲

【送料無料】 【あす楽対応】 トフィー Toffy コーヒーメーカー カフェブレンダー 【最大1000円OFFクーポン】 Toffy K-CM5 トフィー コーヒーメーカー コーヒーマシーン カフェブレンダー 650ml 珈琲 保温 水洗 レトロ 家電 キッチン ラドンナ LADONNA

701円

【送料無料】 【あす楽対応】 トフィー Toffy コーヒーメーカー カフェブレンダー 【最大1000円OFFクーポン】 Toffy K-CM5 トフィー コーヒーメーカー コーヒーマシーン カフェブレンダー 650ml 珈琲 保温 水洗 レトロ 家電 キッチン ラドンナ LADONNA















商品説明


【いつもの暮らしがもっと楽しくなるようなこだわりのキッチンツールやライフスタイルアイテムで毎日を彩り豊かにしてくれるブランド Toffy】

ハンドドリップのように、コーヒー粉をじっくり蒸らしながら淹れられるコーヒーメーカー!「間欠抽出」でハンドドリップのようにコーヒー粉を蒸らしながら抽出します。マイルド、ミディアム、ストロングの3段階の味わいが選べます。ノズルから抽出されたコーヒーがポット内のコーヒーを対流させることで、均一な濃さのコーヒーができあがります。1度に5杯分のコーヒーが淹れられます。メッシュフィルターとガラスポットは水洗いOK!保温プレートにより、抽出したコーヒーの保温が可能。抽出後30分で保温プレートの電源が自動で切れる、消し忘れ防止機能付き。

ブランド名 / 商品名Toffy トフィー / K-CM5
カラーリッチブラック:RICH BLACK(RB)
スレートグリーン:SLATE GREEN(SG)
グレージュ:GREGE(GE)
素材 / 仕様本体:ポリプロピレン
ガラスポット:ホウケイ酸ガラス
電源:AC100V 50/60HZ
定格消費電力:600W
水タンク容量:650ml
電源コード長:約1.0m
付属品:計量スプーン ユーザーズガイド(保証書含む)
生産国CHINA
サイズ幅:16cm×高さ:27.5cm×奥行:20cm(ガラスポット含まず)
こちらの商品は、メーカー公式の採寸基準で計測しています。

ご購入前に必ずお読みください


サイズ・仕様について商品によって若干の誤差が生じてしまう場合がございます。ご了承ください。
カラーについて個体ごとに若干の誤差がある場合がございます。商品の画像は、できるだけ商品に近いカラーにて、掲載をしております。 お客様のモニターの設定により、色味に違いが発生してしまう場合もございます。 あらかじめご了承ください。
予約商品の納期発送目安について予約商品の納期発送目安は、以下の通りになります。
上旬:1日-10日頃発送予定
中旬:11日-20日頃発送予定
下旬:21日-末日頃発送予定
※目安になりますので、日程が多少前後する場合があります。
保証書について商品には「保証書」があるものがございます。配送作業の関係上「保証書」には。販売店名・販売日の記載がございません。
「受注番号の記載されたご注文時のメール」が購入証明となりますので、「保証書」と「メールの控え」を必ず保管して下さい。
ラッピングについてこちらの商品はラッピングを承ることが出来かねます。ご了承の上、お買い求めください。

【送料無料】 【あす楽対応】 トフィー Toffy コーヒーメーカー カフェブレンダー 【最大1000円OFFクーポン】 Toffy K-CM5 トフィー コーヒーメーカー コーヒーマシーン カフェブレンダー 650ml 珈琲 保温 水洗 レトロ 家電 キッチン ラドンナ LADONNA

MTContentNextタグ、MTContentPreviousタグを出力ファイル名(ベースネーム)でソートする方法

December 14,2021 11:55 PM
Category:[コンテンツタイプ]
Tag:[MovableType]
Permalink

MT7のMTContentNextタグ、MTContentPreviousタグを出力ファイル名(ベースネーム)でソートする方法を紹介します。

1.問題点

MTContentNextタグ、MTContentPreviousタグは、デフォルトの機能では「出力ファイル名」でソートすることができないようです。

公式ページでは、MTContentNextタグ、MTContentPreviousタグに設定できるdate_fieldモディファイアの説明として次のようになっています。

'modified_on', 'authored_on', 'created_on' または 日付/時刻型のフィールドの ID, ユニークID, または名前を指定すると、指定されたフィールドの日時よりも新しいコンテンツデータを呼び出します。指定がない場合は、authored_onが利用されます。

ということで、別の手段を使って出力ファイル名でソートする方法を紹介します。

2.出力ファイル名でソートする

ここではMTContentNextタグ、MTContentPreviousタグの代わりに、テンプレートタグを使ってソートする方法を紹介します。

テンプレートは下記になります。このテンプレートをコンテンツタイプアーカイブの任意の位置に設定してください。赤字の「コンテンツタイプ名」には自コンテンツタイプ名を設定してください。

<mt:ContentIdentifier setvar="identifier">
<mt:setvar name="flag" value="0">
<mt:Contents content_type="コンテンツタイプ名" lastn="0" sort_by="identifier" sort_order="ascend">
  <mt:if name="flag" eq="1">
    <mt:setvarblock name="prev_page"><a href="<mt:ContentPermalink>">前のページ</a></mt:setvarblock>
    <mt:setvar name="flag" value="2">
  <mt:elseif name="flag" eq="0">
    <mt:if tag="ContentIdentifier" eq="$identifier">
      <mt:setvar name="flag" value="1">
    <mt:else>
      <mt:setvarblock name="next_page"><a href="<mt:ContentPermalink>">次のページ</a></mt:setvarblock>
    </mt:if>
  </mt:if>
</mt:Contents>
<mt:var name="next_page"> | <mt:var name="prev_page">

3.解説

まず、コンテンツアーカイブページの出力ファイル名をsetvarモディファイアで変数identifierに保持します。

<mt:ContentIdentifier setvar="identifier">

フラグとして使う変数flagに0を設定します。

<mt:setvar name="flag" value="0">

コンテンツデータの情報を取得するブロックタグを実行します。「sort_by="identifier"」を設定しているので、出力ファイル名でソートされます。

<mt:Contents content_type="コンテンツタイプ名" lastn="0" sort_by="identifier" sort_order="ascend">
    :
</mt:Contents>

ブロックタグ内部でMTIfタグを実行します。フラグはまだ0なのでブロック内は実行されません。

  <mt:if name="flag" eq="1">

次にMTElseIfタグを実行します。

  <mt:elseif name="flag" eq="0">

フラグは0なので、MTElseIfブロック内部を実行します。

MTElseIfブロック内部はさらにMTIf文になっています。

    <mt:if tag="ContentIdentifier" eq="$identifier">
      <mt:setvar name="flag" value="1">
    <mt:else>
      <mt:setvarblock name="next_page"><a href="<mt:ContentPermalink>">次のページ</a></mt:setvarblock>
    </mt:if>

MTContentsブロックタグ内で実行している出力ファイル名(tag="ContentIdentifier"の部分)が、現在再構築中のページの出力ファイル名(変数identifier)と等しいか判定します。

    <mt:if tag="ContentIdentifier" eq="$identifier">

等しくなければ、MTElseタグのブロックを実行し、MTContentsブロックタグ内で実行している出力ファイル名を使ったリンクを変数next_pageに保持します。この処理はMTIfタグの出力ファイル名がマッチするまで毎回実施します。つまりマッチする直前のリンクを取得している訳です。

    <mt:else>
      <mt:setvarblock name="next_page"><a href="<mt:ContentPermalink>">次のページ</a></mt:setvarblock>

出力ファイル名がマッチすると、変数flagに1を設定します。

    <mt:if tag="ContentIdentifier" eq="$identifier">
      <mt:setvar name="flag" value="1">

このMTIf文は変数flagが0の場合しか実行されないので、これでMTIf文の処理を終了します。

変数flagが1となったので、外側のMTIfタグブロックが実行され、MTContentsブロックタグ内で実行している出力ファイル名をリンクとして変数prev_pageに保持します。このリンクはつまり、マッチした直後のリンクとなります。さらに変数flagに2を設定します。

  <mt:if name="flag" eq="1">
    <mt:setvarblock name="prev_page"><a href="<mt:ContentPermalink>">前のページ</a></mt:setvarblock>
    <mt:setvar name="flag" value="2">

これでMTContentsブロックタグ内の処理は行われなくなります。

MTContentsブロックタグを抜け、最後に、変数next_pageと変数prev_pageの内容(前後ページのリンク)を出力します。

<mt:var name="next_page"> | <mt:var name="prev_page">

前後ページのリンクはMTContentsブロック内部で表示する方法もあると思いますが、出力ファイル名が最後にマッチした場合など制御が複雑になりそうなので、MTContentsブロック終了後に表示するようにしました。

Comments [0] | Trackbacks [0]

Movable Typeの本文フィールドの表示オプションを有効にしたりドラッグできるようにする「BodyFieldCustomizerプラグイン」(MT7版)

December 8,2021 11:55 PM
Category:[記事投稿・編集]
Tag:[]
Permalink

Movable Typeで本文・追記フィールドの動作をカスタマイズする「BodyFieldCustomizerプラグイン」を公開します。

このプラグインは以前公開した「BodyFieldCustomizerプラグイン」のMT7版です。

1.機能

ブログ記事またはウェブページの本文・追記フィールドの表示オプションを有効にします。

プラグイン適用前

プラグイン適用後

また、本文・追記フィールドをドラッグできるようにします。

プラグイン適用前(クリックで拡大)

プラグイン適用後(クリックで拡大)

それぞれの機能は独立して選択できます。両方を同時に利用することも可能です。

2.価格

価格:\5,000-(税別)/1インストールMT(購入前に必ず動作確認してください)

上記リンクよりご購入後、プラグイン製品版のダウンロードURLをメールにてご連絡致します。

3.ダウンロード・インストール

展開した中にあるBodyFieldCustomizerフォルダをpluginsディレクトリにアップロードしてください。

システム管理画面の「ツール」→「プラグイン」で「BodyFieldCustomizer~」が表示されればインストール完了です。

4.プラグインの設定

プラグインを適用したいウェブサイト・ブログの「ツール」→「プラグイン」をクリックし、「BodyFieldCustomizer」→「設定」をクリックして、利用したい機能を選択し、「変更を保存」をクリックします。

Comments [0] | Trackbacks [0]

MT7のTinyMCE5にボタンを追加する方法

December 7,2021 12:03 AM
Category:[TinyMCE]
Tag:[TinyMCE]
Permalink

これは「Movable Type Advent Calendar 2021」7日目の記事です。

MT7のTinyMCE5にボタンを追加する方法を紹介します。

注:プラグインではなく、ファイルを直接編集しています。

ここでは、wysiwygモードではなく、HTML編集モードに切り替えた場合のh2要素および、h3要素用のボタンを追加してみます。

変更前

変更後

たまにはこういうエレガントでない、ゴリゴリのカスタマイズもいいんじゃないかと(笑)。

カスタマイズの前提として、TinyMCE5のプラグインを有効にしておいてください。

1.ボタン表示の設定

まず、ボタンを表示する設定です。

mt-static/plugins/TinyMCE5/lib/js/adapter.js

に"plugin_mt_source_buttons2"を追加します。

       :
            // Buttons using in source mode.
            plugin_mt_source_buttons1:'mt_source_bold mt_source_italic mt_source_blockquote mt_source_unordered_list mt_source_ordered_list mt_source_list_item | mt_source_link mt_insert_file mt_insert_image | mt_fullscreen',
            plugin_mt_source_buttons2:'mt_source_h2 mt_source_h3',
            // Buttons using in wysiwyg mode.
            plugin_mt_wysiwyg_buttons1:'bold italic underline strikethrough | blockquote bullist numlist hr | link unlink | mt_insert_html mt_insert_file mt_insert_image | table',
       :

追加する名前(mt_source_h2、mt_source_h3)は任意の名称でOKです。

複数のボタンを追加する場合、半角スペースで区切ります。区切り線を入れたい場合は、パイプ"|"を記述します(こちらも半角スペース区切り)。

また、同じファイルの変数suffixへの代入をコメントアウトします。

    var suffix = '';
    if(jQuery('script[src*="tinymce.min"]').length){
        // min
//        suffix = '.min';
    }

この設定をしておかないと、次項で設定するファイルのファイル名がplugin.min.jsになってしまいます。

2.ボタン定義の追加

1項で追加しようとしているボタンの定義を追加します。具体的には、

mt-static/plugins/TinyMCE5/lib/js/tinymce/plugins/mt/plugin.js

の"ed.addMTButton"が並んでいる一番最後に、下記の赤色部分を追加します。

       :
          ed.addMTButton('mt_source_h2', {
              tooltip : 'source_h2',
              text : '&lt;h2&gt;',
              mtButtonClass: 'text',
              toggle: true,
              onclickFunctions : {
                  source: 'h2'
              }
          });
          ed.addMTButton('mt_source_h3', {
              tooltip : 'source_h3',
              text : '&lt;h3&gt;',
              mtButtonClass: 'text',
              toggle: true,
              onclickFunctions : {
                  source: 'h3'
              }
          });
/*
          var filterd_attrs = [];
          var regexp = new RegExp(/^on|action/);
       :

addMTButton()の第1パラメータには1項で設定した名称を指定します。

第2パラメータのハッシュの意味は次の通りです。

  • tooltip:ツールチップ(指定した名称を使って、さらに3項のファイルで表示内容を定義)
  • text:表示するボタン
  • mtButtonClass:ボタンのクラス。ここでは"text"固定
  • toggle:"true"にすると、終了タグを挿入するまでボタン色が反転
  • onclickFunctions:クリックしたときの動作。指定した名称で別ファイルに定義

3.ツールチップの設定

mt-static/plugins/TinyMCE5/lib/js/tinymce/plugins/mt/langs/plugin.js

に、下記の赤色部分を追加します。

       :
    // HTML mode
    "source_bold": trans('Strong Emphasis'),
    "source_italic": trans('Emphasis'),
    "source_blockquote": trans('Block Quotation'),
    "source_unordered_list": trans('Unordered List'),
    "source_ordered_list": trans('Ordered List'),
    "source_list_item": trans('List Item'),
    "source_h2": 'h2要素',
    "source_h3": 'h3要素',
       :

キーは2項の"tooltip"の内容を設定し、値には表示させたい文字列を設定します。

値の部分は、本来、

trans('...')

と記述してローカライズに対応すべきですが、ここでは表示させたい文字列を直接記述しています。

4.クリック時の動作を追加

準備が少し面倒です。

編集するファイルは、

mt-static/js/editor.js

なのですが、改行やスペース文字が除去されていて、編集がやや難しいです。

ということで、私は、editor.jの内容を

https://beautifier.io/

で一旦整形し、editor.jsに上書きしてから作業しました(元の内容はバックアップしておいてください)。

ここではその前提で話を進めます。

mt-static/js/editor.js

に、下記の赤色部分を追加します。追加位置は"MT.EditorCommand.Source.prototype.commands['default']"がある行の直後です。

       :
    MT.EditorCommand.Source.prototype.commands['default'] = {
        h2: function(command, userInterface, argument, text) {
            this.execEnclosingCommand(command, '<h2>', '</h2>', text);
        },
        h3: function(command, userInterface, argument, text) {
            this.execEnclosingCommand(command, '<h3>', '</h3>', text);
        },
        fontSizeSmaller: function(command, userInterface, argument, text) {
            this.execEnclosingCommand(command, '<small>', '</small>', text);
        },
       :

ハッシュのキー"h2"や"h3"は、2項の"onclickFunctions"のハッシュキー"source"の値と対応させてください。

"function(command, userInterface, argument, text)"の部分は何も考えずにそのまま使ってください。編集が必要なのはexecEnclosingCommand()の第2、第3パラメータの開始タグ名と終了タグ名のみです。

execEnclosingCommand()は、選択文字列がある場合は自動的にタグで括り、選択文字列がない場合は開始タグを挿入(ボタンが反転)、文字を入力してもう一度ボタンをクリックすれば終了タグを挿入してくれるという、便利関数です。

この関数は、

mt-static/js/editor.js

に実装されています。

クリック時の挙動を変更したい場合は、独自関数をここに書いてもいいでしょう。

これでブラウザをリロードしてHTML編集モードに切り替えれば、冒頭のボタンが表示されると思います。

5.その他

TinyMCEをカスタマイズするときはブラウザの開発者モード(F12)を有効にしておくと、typo等はコンソールにエラーが表示されるので便利です。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages
')