<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>売買掲示板kjbyby.netのブログ</title>
<link>https://ameblo.jp/kjbybynet/</link>
<atom:link href="https://rssblog.ameba.jp/kjbybynet/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>売買掲示板kjbyby.netのブログです。cakephpとangularjsについて調べたこと書いてます。</description>
<language>ja</language>
<item>
<title>ペンギンアップデートの影響を受けているのはロングテール狙いのサイトでは？</title>
<description>
<![CDATA[ SEOに敏感な方には当たり前ですが、5月22日ペンギンアップデートが行われました。twitterや検索エンジンで調べる限り<div><br></div><div>影響は軽微であった</div><div><br></div><div>という見方が一般的なようです。</div><div><br></div><div><br></div><div>が、</div><div><br></div><div>ロングテールキーワードに焦点をあてたサイトが今回のペンギンアップデートで被害を受けている可能性があると私はみています。</div><div><br></div><div>たとえば、</div><div><br></div><div>「洋服　通販　安い」</div><div><br></div><div>で検索した場合、</div><div><br></div><div><br></div><div>10件表示で38ページ目までしかページのリンクが表示されなくなっています。38ページ目に到達すると検索結果の下部に、</div><div><br></div><div><div>最も的確な検索結果を表示するために、上の 380 件と似たページは除外されています。</div><div>検索結果をすべて表示するには、ここから再検索してください</div></div><div><br></div><div>と表示されており、再検索をﾕｰｻﾞｰに求める状態になっています。<br><br>検索クエリとしてはマイナーかもしれませんが、<br><br>「ハナレイ キュロット」<br><br>だと、6ページ目（10件表示）までしか表示されません。<br><br>ほかのキーワードでもこの現象は確認できますが、この状態だとロングテールに焦点をあてたサイトは</div><div><br></div><div>影響大</div><div><br></div><div>なはずです。</div><div><br></div><div><br></div><div>上の事例と関連しているかはわかりませんが、</div><div><br></div><div>site:～</div><div><br></div><div>で検索を行うと10件表示で3ページ目までしか表示されなくなっています。この件については、すでに認識されたバグのようです。</div><div><br></div><div><a href="http://searchengineland.com/site-command-limited-to-30-results-google-says-a-temporary-domain-clustering-bug-160594"></a><a href="http://searchengineland.com/site-command-limited-to-30-results-google-says-a-temporary-domain-clustering-bug-160594">http://searchengineland.com/site-command-limited</a></div><div><br></div><div>siteコマンドの件だけでなく、検索結果の深い部分のページが表示されない件も同じ理由だとよいかなと思います。</div><div><br></div><div>深い部分まで検索しているﾕｰｻﾞｰはたくさんいるはずだし、昨今ロングテールの重要性を唱えるSEOの専門家やそれに習いブログを日々更新しているサイト管理者も大勢いるはずです。</div><div><br></div><div>様子をみようと思います。</div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11537428337.html</link>
<pubDate>Sat, 25 May 2013 05:22:07 +0900</pubDate>
</item>
<item>
<title>angularjsのdirectiveとi18n(国際化)</title>
<description>
<![CDATA[ angularjsトップページの最後の例Create Componentsをcakephpでやってみます。<div><br></div><div>やることは前回までとほとんど同じ内容です。</div><div><br></div><div>javascriptやcssなどの静的ファイルをcakephpのwebroot配下にコピーして、viewのlayoutでそれらを読み込んだ後、コンテンツ部分をコピーしてブラウザを更新する</div><div><br></div><div>という方法でcakephpで表示することができます。</div><div><br></div><div><br></div><div>Create Componentsの例では、components.jsに</div><div><br></div><div>tabs</div><div>pane</div><div><br></div><div>という二つのhtmlタグをdirectiveというangularjsの機能を利用して拡張しindex.htmlで使いまわすという例のようです。</div><div><br></div><div>さきの例と同じようにcreate componetもcakephpで試しました。表示は問題なくできたのですが、BeerCounterの中で</div><div><br></div><div>$locale.id</div><div><br></div><div>による言語設定の条件分岐が行われており、デフォルトで</div><div><br></div><div>en-US</div><div><br></div><div>になっていたのでどこで設定しているのかを調べてみました。どうも、angularjsを読み込むと標準で「en-US」になっているようです。変更する場合はi18nのファイルを読み込めば可能のようです。具体的には、</div><div><br></div><div><a href="http://code.angularjs.org/1.0.6/i18n/">http://code.angularjs.org/1.0.6/i18n/</a></div><div><br></div><div>上のurlから国際化したい言語ファイルをダウンロードして読み込めば言語設定を変更することができる模様。</div><div><br></div><div><div>echo $this-&gt;Html-&gt;script(array('https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js'), array('inline' =&gt; false));</div><div>echo $this-&gt;Html-&gt;script(array('i18n/angular-locale_ja-jp'), array('inline' =&gt; false));</div></div><div><br></div><div>上の2行目のようにしてja-JPの言語ファイルをよませるようにすれば、日本語化が可能らしいです。</div><div><br></div><div><br></div><div><br></div><div>components.jsについては、</div><div><br></div><div><div>    var ameba = angular.module('components', []);</div><div>    ameba.directive('tabs', function() {</div><div><br></div><div>    });</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span></div><div>    ameba.directive('pane', function() {</div><div><br></div><div>    });</div></div><div><br></div><div>というように変更してためしてみたりしました。create componetの例では、チェーンメソッドみたいな感じで.（ドットで）directiveを連結した記述をしますが、上のように書いても大丈夫みたいです。</div><div><br></div><div>paneのdirective記述を以下のようにしたりして、directiveの定義の仕方を調べてみました。</div><div><br></div><div><div>    ameba.directive('pane', function() {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    return {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    require: '^tabs',</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    restrict: 'E',</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    transclude: true,</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    scope: { title: '@' },</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    link: function(scope, element, attrs, tabsCtrl) {</div><div><br></div><div>//console.log(attrs.title);</div><div><br></div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>if( attrs.title == "Pluralization" )</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>{</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>console.log("Ameba");</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>}</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span></div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>else</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>{</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>tabsCtrl.addPane(scope);</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>}</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    },</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    template:</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    '&lt;div class="tab-pane" ng-class="{active: selected}" ng-transclude&gt;' +</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    '&lt;/div&gt;',</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    replace: true</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    };</div><div>    });</div></div><div><br></div><div>returnの中でangularjs固有の設定を行うことができます。上の例では、linkの部分に変更をくわえてあります。linkとはinitializeのような感じの機能で、この場合だとtabを最初によんだときに実行される機能です。</div><div><br></div><div>console.log(attrs.title);</div><div><br></div><div>をしてみたところ、HTMLのtitle属性の値ということがわかりましたので、そのままattrs.titleで条件分岐して一方のタブを表示せずにconsole.logしてみました。</div><div><br></div><div>表示結果は以下のとおりです。</div><div><br><br><div><a href="http://stat.ameba.jp/user_images/20130518/01/kjbybynet/66/81/p/o0525030912542722497.png"><img border="0" src="https://stat.ameba.jp/user_images/20130518/01/kjbybynet/66/81/p/o0525030912542722497.png" alt="売買掲示板kjbyby.netのブログ-i18n"></a></div><br><br>言語ファイルを読み込んであるため、曜日と通貨マーク、金額のカンマの位置が日本語化されています。<br></div>また、firebugのコンソールにはja-ＪＰと出力されています。<br><br>Pluralizationタブが非表示となり、かわりに<br><br>Ameba<br><div><br></div><div>とcosole.logされています。</div><div><br></div><div><a href="http://docs.angularjs.org/guide/directive">angularjsのdirective</a>は重要な機能のようですが、どういう使い方がベストなのかいまひとつ分かりませんでした。次回以降phone gapチュートリアルをやってみますのでそこでdirectiveがでてきたら再度調べてみることにします。</div><div><br></div><div><br></div><div>※create componetを試すにあたり、beers.jsの以下2行でエラーになったため、</div><div><br></div><div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>    //few: '{} piva'',</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>    //other: '{} pi'v'</div></div><div><br></div><div>コメントアウトしてためしました。<br><br>出品無料<a href="http://kjbyby.net/">売買掲示板</a><br></div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11528522881.html</link>
<pubDate>Sat, 11 May 2013 19:16:44 +0900</pubDate>
</item>
<item>
<title>Wire up a Backendにbootstrap.cssを適用する</title>
<description>
<![CDATA[ 前回、angularjsのトップページ3つ目の例を適用しました。が、トップページの例だと左から<div><br></div><div>project</div><div>description</div><div>[編集ボタン]</div><div><br></div><div>になっているのに、cakephpに適用した例では編集ボタンが現状ありません。これはbootstrap.cssというスタイルシートを読み込んでいないことが原因です。angularjsのトップページはbootstrap.cssを使ったページになります。</div><div><br></div><div>bootstrap.cssについては以下の公式ページを参照ください。</div><div><br></div><div><a href="http://twitter.github.io/bootstrap/">http://twitter.github.io/bootstrap/</a></div><div><br></div><div>twitter bootstrapで効率よく見た目の良いサイトを作ることができます。</div><div><br></div><div><br></div><div>早速、twitter bootstrapをダウンロードし、展開し</div><div><br></div><div>bootstrap.min.css</div><div><br></div><div>を</div><div><br></div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\webroot\css</div><div><br></div><div>にコピーします。また、</div><div><br></div><div>img内の画像</div><div><br></div><div>glyphicons-halflings-white.png</div><div>glyphicons-halflings.png</div><div><br></div><div>の２つを</div><div><br></div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\webroot\img</div><div><br></div><div>にコピーします。</div><div><br></div><div>あとはいつもどおりlayoutにbootstrapを読み込むための設定をします。</div><div><br></div><div>layout/angularjs.ctp</div><div><br></div><div>のcss設定の部分を以下のようにします。</div><div><br></div><div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>//echo $this-&gt;Html-&gt;css('cake.generic'); //コメントアウト</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>echo $this-&gt;Html-&gt;css('todo');</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>echo $this-&gt;Html-&gt;css('bootstrap.min'); //追記</div></div><div><br></div><div>cakephpの標準cssをコメントアウトして、bootstrapの読み込みを追記してみました。この状態でブラウザを更新します。</div><div><br></div><div><br><a href="http://stat.ameba.jp/user_images/20130429/08/kjbybynet/85/ee/p/o0319037212517897041.png"><img border="0" src="https://stat.ameba.jp/user_images/20130429/08/kjbybynet/85/ee/p/o0319037212517897041.png" alt="売買掲示板kjbyby.netのブログ-javascript project"></a> </div><div><br></div><div>＋マークをクリックで新規登録、鉛筆マークをクリックでプロジェクトの編集をすることができます。<br><br></div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11520393464.html</link>
<pubDate>Mon, 29 Apr 2013 08:12:57 +0900</pubDate>
</item>
<item>
<title>angularjsのWire up a Backendでcakephpに入門</title>
<description>
<![CDATA[ <div><pre class="prettyprint linenums nocode"><span style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">angularjsのトップページ３つ目の例はWire up a Backendです。</span><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;"><br></div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">この例では、angularjsのテンプレートの概念が登場するほか、validationやmongodbのapiを利用してhttpベースでデータをやり取りする方法を学ぶことができます。人気のcssフレームワークbootstrap.cssも利用されています。</div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;"><br></div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">project.js</div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">mongolab.js</div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;"><br></div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">の双方を</div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;"><br></div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">C:\xampp\htdocs\vhost\cakephp2.3.2\app\webroot\js</div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;"><br></div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">にコピーします。</div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;"><br></div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">list.html</div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">detail.html</div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;"><br></div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;">の2つはangularjsの部分テンプレートです。index.htmlの</div><div style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica; white-space: normal;"><br></div><div style="white-space: normal;"><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode"><span class="tag">&lt;div</span><span class="pln">&nbsp;</span><span class="atn"><code style="background-color: rgb(153, 194, 255);" data-content="We’re marking this &lt;code>&amp;lt;div&amp;gt;&lt;/code> as the place we’ll load partial pages or “views”. The surrounding page will stay static while we load changing UI into this section. In this case, we’ll be switching between a list of “projects” and the form to add new or edit existing “projects”." rel="popover" class="nocode" data-original-title="&lt;code>ng-view&lt;/code>">ng-view</code></span><span class="tag">&gt;&lt;/div&gt;</span></pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">の間に埋め込まれるような感じになります。</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">部分テンプレートは静的なファイルなので、</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">C:\xampp\htdocs\vhost\cakephp2.3.2\app\webroot</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">にlist.htmlとdetail.htmlの双方をコピーしておきます。</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">index.htmlはまず、</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode"><span style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="tag">&lt;html ng-app&gt;</span></pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">を</font></pre><pre class="prettyprint linenums nocode"><span style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="tag">&lt;html</span><span style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="pln">&nbsp;</span><span class="pln">ng-app</span><span style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="pun">=</span><span style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="atv">"</span><span class="atv">project<font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">"</font></span><span style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="tag">&gt;</span></pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode"><span style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="tag">に変更します。</span></pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">次にindex.htmlのheadタグ内のjs読み込み設定は以下のようになります。</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">echo $this-&gt;Html-&gt;script(array('https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular-resource.min.js'), array('inline' =&gt; false));echo $this-&gt;Html-&gt;script(array('project'), array('inline' =&gt; false));echo $this-&gt;Html-&gt;script(array('mongolab'), array('inline' =&gt; false));</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">上の行を追記します。</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">viewは、</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">&lt;h2&gt;JavaScript Projects&lt;/h2&gt;&lt;div ng-view&gt;&lt;/div&gt;</pre><pre style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;" class="prettyprint linenums nocode">末尾に上の2行を追記します。</pre></div><br><a href="http://stat.ameba.jp/user_images/20130428/10/kjbybynet/0f/7a/p/o0620027312516578233.png"><img border="0" src="https://stat.ameba.jp/user_images/20130428/10/kjbybynet/0f/7a/p/o0620027312516578233.png" alt="売買掲示板kjbyby.netのブログ-javascript project"></a><br><br>ブラウザを更新すると表示されます。検索ボックスにanと入力すると絞り込みが行われます。</pre></div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11519775242.html</link>
<pubDate>Sun, 28 Apr 2013 09:20:42 +0900</pubDate>
</item>
<item>
<title>console.logを使ってAdd Some Controlのデータを確認</title>
<description>
<![CDATA[ 前回はangulajsのトップページに載っている例であるAdd Some Controlをcakephpでやりました。今回はangularjsのコントローラの設定とjavascriptのconsole.logを使ってAdd Some Controlでどのようにデータを使っているのか見てみたいと思います。<div><br></div><div>htmlのheadでtodo.jsを読み込みました。todo.jsがコントローラのようで、</div><div><br></div><div><pre class="prettyprint linenums nocode"><span class="tag">&lt;div</span><span class="pln">&nbsp;</span><span class="atn"><code style="background-color: rgb(153, 194, 255);" data-content="The behavior of content under this element will be managed using the &lt;code>TodoCtrl&lt;/code> class defined in &lt;code>todo.js&lt;/code>." rel="popover" class="nocode" data-original-title="&lt;code>ng-controller&lt;/code>">ng-controller</code></span><span class="pun">=</span><span class="atv">"TodoCtrl"</span><span class="tag">&gt;</span></pre><pre class="prettyprint linenums nocode">のようにして指定しているようです。</pre><pre class="prettyprint linenums nocode">cakephp側のviewを</pre><pre class="prettyprint linenums nocode"><span class="tag">&lt;div</span><span class="pln">&nbsp;</span><span class="atn"><code style="background-color: rgb(153, 194, 255);" data-content="The behavior of content under this element will be managed using the &lt;code>TodoCtrl&lt;/code> class defined in &lt;code>todo.js&lt;/code>." rel="popover" class="nocode" data-original-title="&lt;code>ng-controller&lt;/code>">ng-controller</code></span><span class="pun">=</span><span class="atv">"Todo2Ctrl"</span><span class="tag">&gt;</span></pre><pre class="prettyprint linenums nocode">のように変更して、<span style="font-family: 'ＭＳ Ｐゴシック', Osaka, 'ヒラギノ角ゴ Pro W3', Arial, Helvetica;">todo.js内に以下のような標準で読み込む値のみを変更した</span></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">Todo2Ctrl</font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">を追加することができます。</font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><br></font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">    function Todo2Ctrl($scope) {    $scope.todos = [    {text:'test', done:true},    {text:'テスト app', done:false}];     //以下省略</font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">    };    }</font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><br></font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">ブラウザをリロードするとtodoのリストが変更されます。ベストプラクティスではないかもしれませんが、ng-controllerの設定をcakephp側で動的に変更することができそうです。確認したら一応ng-controllerの設定を元に戻しておきます。</font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">console.log()でデータを見てみようと思います。console.logはphpのver_dumpやechoで変数をみるようにjavascriptの変数のデータを確認するための機能です。</font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">    $scope.archive = function() {                //中略    };console.log($scope.todos);</font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">最初に、上のように</font><span style="font-family: 'ＭＳ Ｐゴシック', Osaka, 'ヒラギノ角ゴ Pro W3', Arial, Helvetica;">$scope.archiveの下に</span></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">console.log($scope.todos);</font></pre><pre class="prettyprint linenums nocode"><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica">を追記してみます。データを見るにはブラウザをリロードし、firebugのコンソールで確認することができます。firebugは右上のほうにある虫マークをクリックすれば起動します。</font></pre></div><div><font face="ＭＳ Ｐゴシック, Osaka, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><br><a href="http://stat.ameba.jp/user_images/20130425/15/kjbybynet/87/20/p/o0669033612513270891.png"><img border="0" src="https://stat.ameba.jp/user_images/20130425/15/kjbybynet/87/20/p/o0669033612513270891.png" alt="売買掲示板kjbyby.netのブログ-firebug"></a><br><br></font></div><div> すこし分かりにくいですが、画像の一番下がconsole.logの結果です。Objectというデータ型で初期値が表示されているのが確認できると思います。</div><div><br></div><div>次に、</div><div><br></div><div>console.log($scope.archive);</div><div><br></div><div>でを確認してみます。</div><div><br></div><div>function()</div><div><br></div><div>と表示されました。これは先ほど結果がObject型だったのに対し、function型であることを示しているのだと思います。$scope.archiveはangularjsのng-clickに関連付いているので以下のように変更しブラウザをリロードします。</div><div><br></div><div><br></div><div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    $scope.archive = function() {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    var oldTodos = $scope.todos;</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    $scope.todos = [];</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    angular.forEach(oldTodos, function(todo) {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    <span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>if (!todo.done) $scope.todos.push(todo);</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    });</div><div>                        console.log(oldTodos);</div><div>                        console.log($scope.todos);</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>    };</div></div><div><br></div><div>リロードしたら</div><div><br></div><div>[archive]</div><div><br></div><div>のリンクをクリックしてみます。</div><div><br></div><div>oldTodosのconsole.logとして、初期値が表示され、クリック後の$scope.todosとして一つtodoが削除された結果が表示されます。</div><div><br></div><div>console.logとfirebugでいろいろ確認することができます。firebugはfirefoxの機能ですが、ほかのブラウザ（chromeなど）にも似たような機能があります。</div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11517978250.html</link>
<pubDate>Thu, 25 Apr 2013 11:51:18 +0900</pubDate>
</item>
<item>
<title>angularjsのAdd Some Controlをcakephp</title>
<description>
<![CDATA[ angularjsのトップページ<div><br></div><div>http://angularjs.org/</div><div><br></div><div>２つ目の例（Add Some Control todoの例）をcakephpでやってみたいと思います。</div><div><br></div><div><br></div><div>Add Some Controlでは、</div><div><br></div><div>index.html</div><div>todo.js</div><div>todo.css</div><div><br></div><div>の３つのファイルを使うことになっています。今回は前回のthe basicsと同様に、</div><div><br></div><div>http://test.local/</div><div><br></div><div>にthe basicsの下側に表示されるようにしてみます。</div><div><br></div><div>まず、</div><div><br></div><div><div>todo.js</div><div>todo.css</div></div><div><br></div><div>の２つをcakephpのwebroot下に配置し、layoutで読み込むようにします。layoutのangular.ctpは以下のようになります。</div><div><br></div><div><div>echo $this-&gt;Html-&gt;css('cake.generic');</div><div>echo $this-&gt;Html-&gt;css('todo'); //←追記</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span></div><div>echo $this-&gt;Html-&gt;script(array('https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js'), array('inline' =&gt; false));</div><div>echo $this-&gt;Html-&gt;script(array('todo'), array('inline' =&gt; false)); //←追記</div></div><div><br></div><div>これでtodoのjavascriptとcssが読み込まれました。次にviewを編集します。</div><div><br></div><div>index.htmlのbodyタグ内のコンテンツを</div><div><br></div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\View\Pages</div><div><br></div><div>の</div><div><br></div><div>angularjs.ctp</div><div><br></div><div>に追記します。そして保存、ブラウザでページをリロードすると、以下のようになります。</div><div><br></div><div><br><a href="http://stat.ameba.jp/user_images/20130422/19/kjbybynet/88/ab/p/o0412043712510138316.png"><img border="0" src="https://stat.ameba.jp/user_images/20130422/19/kjbybynet/88/ab/p/o0412043712510138316.png" alt="売買掲示板kjbyby.netのブログ-angularjs add some control"></a><br><br></div><div>上のようになります。the basicsのhtmlは見出しタグを追加してあります。</div><div><br></div><div>htmlのul（リスト）の●マークが変な風に表示されているので消してみます。</div><div><br></div><div><div>.unstyled{</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>list-style-type: none;</div><div>}</div></div><div><br></div><div>todo.cssに上のスタイルを追加することで消すことができます。</div><div><br></div><div><br></div><div><br></div><div><br></div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11516379254.html</link>
<pubDate>Mon, 22 Apr 2013 19:06:56 +0900</pubDate>
</item>
<item>
<title>angularjsのCDNをcakephpで設定する</title>
<description>
<![CDATA[ the ｂａｓｉｃｓを利用してｃａｋｅｐｈｐにてangularjsのCDNを利用する方法をおさえておこうと思います。CDNについては以下を参照<div><br></div><div><a href="http://e-words.jp/w/CDN.html">http://e-words.jp/w/CDN.html</a><br><div><br></div><div>前回のエントリーでは</div><div><br></div><div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);">public function angularjs() {</div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);">}</div></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);">というangularjsアクションを追加して、the basicsを表示しました。その際、cakephpの機能でlayoutやviewを明示的に指定しなくても表示することが出来ました。今回のエントリーではCDNを設定するにあたりlayoutを明示的に設定する方法を試してみたいと思います。</div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);">angularjsのCDNは以下のurlで確認できます。</div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><a href="https://developers.google.com/speed/libraries/devguide#angularjs">https://developers.google.com/speed/libraries/devguide#angularjs</a></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 112, 0); font-family: 'Droid Sans Mono',monospace; font-size: 13px; line-height: 19px; white-space: nowrap;">&lt;script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"&gt;&lt;/script&gt;</span></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);">上のhtmlをcakephpで設定するには以下のようにします。</div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><br></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">echo $this-&gt;Html-&gt;script(array('https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js'), array('inline' =&gt; false));</span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">cakeでは上のように書けばangularjsのCDNを利用できます。設定する場所はhtmlのheadが記述されているcakephpのlayoutになります。前回までのエントリーでは、</span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">C:\xampp\htdocs\vhost\cakephp2.3.2\app\View\Layouts</span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">の</span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">default.ctp</span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">を利用してきましたが、今回は別のlayoutを設定するのでした。なので、default.ctpを同じ階層にコピペして、</span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">angularjs.ctp</span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">にリネームします（ファイル名の変更）。そして、</span></font></div><div style="background-color: rgb(255, 255, 255);"><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div style="background-color: rgb(255, 255, 255);"><div><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">//echo $this-&gt;Html-&gt;script(array('angular.min'), array('inline' =&gt; false));</span></font></div><div><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">echo $this-&gt;Html-&gt;script(array('https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js'), array('inline' =&gt; false));</span></font></div><div><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">上のようにCDNを追記して、CDNでないほうはコメントアウトか削除します。</span></font></div><div><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;">最後に、contorollerのangularjsアクション</span></font></div><div><font face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica" color="#333333"><span style="line-height: 16px;"><br></span></font></div><div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;">public function angularjs() {</div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;">}</div></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;">にてlayoutを明示的に指定します。</div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><div>public function angularjs() {</div><div>    $this-&gt;layout = 'angularjs';</div><div>}</div></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;">上のようになります。</div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;">http://test.local/</div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><br></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;">をブラウザでリロードすると<span style="font-family: 'ＭＳ Ｐゴシック',Osaka,'ヒラギノ角ゴ Pro W3',Arial,Helvetica;">the basicsがCDNで動作することが確認できます。</span></div><div style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><br></div></div></div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11513241843.html</link>
<pubDate>Wed, 17 Apr 2013 19:20:10 +0900</pubDate>
</item>
<item>
<title>angularjsのThe Basicsのみを表示する</title>
<description>
<![CDATA[ 前回同様angularjsのthe basicsを使ってcakephpに入門してみようと思います。<div><br></div><div>前回のエントリーでRelease Notes for CakePHP 2.3.2.の上部にthe basicsを表示することができました。今回は、Release Notes for CakePHP 2.3.2.のコンテンツ部分のみを消して、cakephpのヘッダーとフッター、そしてthe basicsのコンテンツ部分のみを表示させます。</div><div><br></div><div>目的を果たすだけであればRelease Notes for CakePHP 2.3.2.のコンテンツを削除すれば達成できますが、それではあまり意味がないので、viewを新設する方法でやってみたいと思います。</div><div><br></div><div><br></div><div>まず、新規にviewを作っておきます。</div><div><br></div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\View\Pages</div><div><br></div><div>に</div><div><br></div><div>angularjs.ctp</div><div><br></div><div>を用意します。内容はthe basicsの以下のhtmlをコピペします。</div><div><br></div><div><div>&lt;div&gt;</div><div>&lt;label&gt;Name:&lt;/label&gt;</div><div>&lt;input type="text" ng-model="yourName" placeholder="Enter a name here"&gt;</div><div>&lt;hr&gt;</div><div>&lt;h1&gt;Hello {{yourName}}!&lt;/h1&gt;</div><div>&lt;/div&gt;</div></div><div><br></div><div>viewの作業は以上で終わりです。</div><div><br></div><div>続いて、contorolloerを編集します。</div><div><br></div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\Controller</div><div><br></div><div>の</div><div><br></div><div>PagesController.php</div><div><br></div><div>を以下のように編集します。</div><div><br></div><div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>public function display() {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>$path = func_get_args();</div><div><br></div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>$count = count($path);</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>if (!$count) {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>$this-&gt;redirect('/');</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>}</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>$page = $subpage = $title_for_layout = null;</div><div><br></div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>if (!empty($path[0])) {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>$page = $path[0];</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>}</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>if (!empty($path[1])) {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>$subpage = $path[1];</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>}</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>if (!empty($path[$count - 1])) {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>$title_for_layout = Inflector::humanize($path[$count - 1]);</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>}</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>$this-&gt;set(compact('page', 'subpage', 'title_for_layout'));</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>$this-&gt;render(implode('/', $path));</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>}</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span></div><div>        //ここから</div><div><br></div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>public function angularjs() {</div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span></div><div><span class="Apple-tab-span" style="white-space: pre;">&nbsp;</span>}</div></div><div><br></div><div>        //ここまで</div><div><br></div><div>function displayは、Release Notes for CakePHP 2.3.2.を表示するために必要なcakephpにデフォルトで記述されている関数です。それとは別に、function angularjsを追加しました。内容が空になっていますがこのままで大丈夫です。</div><div><br></div><div>ここまで追記したら、</div><div><br></div><div>http://test.local/pages/angularjs</div><div><br></div><div>にアクセスしてみます。するとthe basicsのみが表示されます。</div><div><br></div><div>viewのファイル名とcontrollerの関数名がcakephpによって対応しているため少ない記述でこのような結果になります。</div><div><br></div><div>ルートで表示したい場合には、cakephpのルーターを設定します。ルーターは、</div><div><br></div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\Config</div><div><br></div><div>の</div><div><br></div><div>routes.php</div><div><br></div><div>で行います。</div><div><br></div><div><div>Router::connect('/', array('controller' =&gt; 'pages', 'action' =&gt; 'display', 'home'));</div><div><br></div><div>もとから設定されている上の一行をコメントアウトし、</div><div><br></div><div><br></div><div> //Router::connect('/', array('controller' =&gt; 'pages', 'action' =&gt; 'display', 'home'));</div><div>Router::connect('/', array('controller' =&gt; 'pages', 'action' =&gt; 'angularjs'));</div></div><div><br></div><div>上記のようにします。「/」はルートでアクセスすることを意味しています。ルートとPagesControllerのangularjsファンクションを対応づけることができます。</div><div><br></div><div>http://test.local/</div><div><br></div><div>でアクセスしなおすとthe basicsが表示されます。</div><div><br></div><div><br></div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11512563750.html</link>
<pubDate>Tue, 16 Apr 2013 17:35:53 +0900</pubDate>
</item>
<item>
<title>AngularJSのThe Basicsをcakephp 本番</title>
<description>
<![CDATA[ <span style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);">前回でRelease Notes for CakePHP 2.3.2.の赤と黄色のエラーを消すことができました。</span><div><span style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><br></span></div><div><span style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);">最もベーシックな</span></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;"><br></span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;">AngularJSのThe Basics</span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;"><br></span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;">をcakephpでやってみたいと思います。</span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;"><br></span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;">http://angularjs.org/</span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;"><br></span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;">からangularjsをダウンロードして、</span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;"><br></span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;">C:\xampp\htdocs\vhost\cakephp2.3.2\app\webroot\js</span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;"><br></span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;">にコピペします。</span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;"><br></span></font></div><div><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;">webrootのフォルダは、画像やスタイルシートやjavascriptなどの静的ファイルを格納するフォルダになります。</span></font></div><div><br></div><div>今回は、<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;">Release Notes for CakePHP 2.3.2.のページの上のほうに</span><span style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;">AngularJSのThe Basicsの結果を表示するようにしてみたいと思います。</span></div><div><span style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><br></span></div><div><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;">Release Notes for CakePHP 2.3.2.の</span><font color="#333333" face="ＭＳ Ｐゴシック, ヒラギノ角ゴ Pro W3, Arial, Helvetica"><span style="line-height: 16px;">Editing this Pageという見出しがあるかと思います。そこに</span></font></div><div><span style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px;"><br></span></div><div><p>To change the content of this page, edit: APP/View/Pages/home.ctp.<br>To change its layout, edit: APP/View/Layouts/default.ctp.<br>You can also add some CSS styles for your pages at: APP/webroot/css.</p><p><br></p><p>と書いてあります。</p><p><br></p><p>ダウンロードしたangularjsを読み込ませるためには、上の2行目に書いてあるように、</p><p><br></p><p>APP/View/Layouts/default.ctp.</p><p><br></p><p>を編集します。</p><p><br></p><p>具体的には、</p><p><br></p><p>C:\xampp\htdocs\vhost\cakephp2.3.2\app\View\Layouts\default.ctp</p><p><br></p><p>の先頭付近のhtmlタグにangularjsの属性</p><p><br></p><p>ng-app</p><p><br></p><p>を追加します。</p><p><br></p><br><p>&lt;!DOCTYPE html&gt;</p><p>&lt;html ng-app&gt; //←ここを編集</p><p>&lt;head&gt;</p><p><br></p><br><p>また以下の一行を追加します。</p><p><br></p><br><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>&lt;?php</p><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>echo $this-&gt;Html-&gt;meta('icon');</p><p><br></p><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>echo $this-&gt;Html-&gt;css('cake.generic');</p><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span></p><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>echo $this-&gt;Html-&gt;script(array('angular.min'), array('inline' =&gt; false)); //←この行を追加</p><p><br></p><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>echo $this-&gt;fetch('meta');</p><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>echo $this-&gt;fetch('css');</p><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>echo $this-&gt;fetch('script');</p><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>?&gt;</p><br><p><br></p><p>上の一行によりangularjsが読み込まれangularjsへの指示的な記述（ディレクティブ）が実行されるようになります。</p><p><br></p><p>次に、</p><p><br></p><p>To change the content of this page, edit: APP/View/Pages/home.ctp.</p><p><br></p><p>に従いコンテンツを記述します。具体的には、</p><p><br></p><br><p>if (!Configure::read('debug')):</p><p><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>throw new NotFoundException();</p><p>endif;</p><p>App::uses('Debugger', 'Utility');</p><p>?&gt;</p><p><br></p><p>//ここから</p><p><br></p><p>&lt;div&gt;</p><p>&lt;label&gt;Name:&lt;/label&gt;</p><p>&lt;input type="text" ng-model="yourName" placeholder="Enter a name here"&gt;</p><p>&lt;hr&gt;</p><p>&lt;h1&gt;Hello {{yourName}}!&lt;/h1&gt;</p><p>&lt;/div&gt;</p><p><br></p><p>//ここまで追記</p><p><br></p><p>&lt;h2&gt;&lt;?php echo __d('cake_dev', 'Release Notes for CakePHP %s.', Configure::version()); ?&gt;&lt;/h2&gt;</p><p><br></p><p>上の範囲のhtmlをangularjsのThe Basicsからコピペします。そして保存。</p><p><br></p><p><span style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);">Release Notes for CakePHP 2.3.2.のページを更新すると、以下のようになります。</span></p><p><span style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><br></span></p><p><span style="color: rgb(51, 51, 51); font-family: 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3',Arial,Helvetica; line-height: 16px; background-color: rgb(255, 255, 255);"><br></span></p><div><a href="http://stat.ameba.jp/user_images/20130415/20/kjbybynet/59/4a/p/o0519029012501763578.png"><img border="0" alt="kjbyby.netのブログ-angularjs the basics" src="https://stat.ameba.jp/user_images/20130415/20/kjbybynet/59/4a/p/o0519029012501763578.png"></a><br><br>テキストを編集するとリアルタイムで反映されます。<br></div><br><br><br><p></p><br></div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11511414389.html</link>
<pubDate>Sun, 14 Apr 2013 20:59:49 +0900</pubDate>
</item>
<item>
<title>AngularJSのThe BasicsをCAKE</title>
<description>
<![CDATA[ 前回cakephpのインストールを終えました。今回からはAngularJSのチュートリアルをcakephpで実践していこうと思っていたのですが、インストール完了後の<br><div><br></div><div>Release Notes for CakePHP 2.3.2.</div><div><br></div><div>のページをみるといくつか赤や黄色になっている項目があるのでつぶしておこうと思います。</div><div><br></div><div><br></div><div>Please change the value of 'Security.salt' in app/Config/core.php to a salt value specific to your application </div><div><br></div><div>Please change the value of 'Security.cipherSeed' in app/Config/core.php to a numeric (digits only) seed value specific to your application </div><div><br></div><div><br></div><div>上の２つの赤色英語メッセージは、</div><div><br></div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\Config\config.php</div><div><br></div><div>の</div><div><br></div><div><div>Configure::write('Security.salt', 'aaaaaaaaaaaaaaaaaaa');</div><div>Configure::write('Security.cipherSeed', '3333333333333333333');</div></div><div><br></div><div>を変更することで消すことができます。</div><div><br></div><div>続いて、</div><div><br></div><div><div>Your database configuration file is NOT present.</div><div>Rename APP/Config/database.php.default to APP/Config/database.php</div></div><div><br></div><div>は</div><div><br></div><div>database.php.default</div><div><br></div><div>のファイルを</div><div><br></div><div>database.php</div><div><br></div><div>に変更することで消すことができますが、同時にdb接続の設定をする必要があります。</div><div><br></div><div>今回は、</div><div><br></div><div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>public $default = array(</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>'datasource' =&gt; 'Database/Mysql',</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>'persistent' =&gt; false,</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>'host' =&gt; 'localhost',</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>'login' =&gt; 'dbadmin',</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>'password' =&gt; ''test,</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>'database' =&gt; 'angularjs',</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>'prefix' =&gt; '',</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>//'encoding' =&gt; 'utf8',</div><div><span style="white-space: pre;" class="Apple-tab-span">&nbsp;</span>);</div></div><div><br></div><div>データベースをmysqlで、login, password, database の箇所を変更しました。</div><div><br></div><div>残るエラーは一つです。</div><div><br></div><div>DebugKit is not installed. It will help you inspect and debug different aspects of your application.</div><div><br></div><div><div>You can install it from github</div><div><br></div></div><div>と書いてあるのでgithubへ行きDebugKitをダウンロードします。</div><div><br></div><div>ダウンロードしたら、</div><div><br></div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\Plugin</div><div><br></div><div>に</div><div><br></div><div>DebugKit</div><div><br></div><div>としてコピーします。</div><div><br></div><div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\Plugin\DebugKit</div></div><div><br></div><div>上のような階層にします。</div><div><br></div><div>そして、</div><div><br></div><div>C:\xampp\htdocs\vhost\cakephp2.3.2\app\Config\bootstrap.php</div><div><br></div><div>の末尾に</div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;"><br></span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;">CakePlugin::load('DebugKit');</span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;"><br></span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;">を追加。</span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;"><br></span></div><div><span style="background-color: rgb(248, 248, 248); line-height: 19px; white-space: nowrap;"><font color="#333333" face="Consolas, Liberation Mono, Courier, monospace">C:\xampp\htdocs\vhost\cakephp2.3.2\app\Controller\</font></span><font color="#333333" face="Consolas, Liberation Mono, Courier, monospace"><span style="line-height: 19px; white-space: nowrap;">AppController.php</span></font></div><div><font color="#333333" face="Consolas, Liberation Mono, Courier, monospace"><span style="line-height: 19px; white-space: nowrap;"><br></span></font></div><div><span style="line-height: 19px; white-space: nowrap; color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace;">に</span></div><div><span style="line-height: 19px; white-space: nowrap; color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace;"><br></span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;">public $components = array('DebugKit.Toolbar');</span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;"><br></span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;">を足します。</span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;"><br></span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;">これですべての項目が緑色になりエラーが表示されなくなっているはずです。</span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;"><br></span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;"><br></span></div><div><span style="background-color: rgb(248, 248, 248); color: rgb(51, 51, 51); font-family: Consolas,'Liberation Mono',Courier,monospace; line-height: 19px; white-space: nowrap;">次回こそは、anglarjsのチュートリアルに取り掛かりたいと思います。</span></div>
]]>
</description>
<link>https://ameblo.jp/kjbybynet/entry-11510026513.html</link>
<pubDate>Fri, 12 Apr 2013 18:38:07 +0900</pubDate>
</item>
</channel>
</rss>
