2018/02/12(月)Orchardに引越し 2日目

植物図鑑用の入力フォームを作成

Content Typeの作成


動物も共通にしようか迷いましたが、植物専用で。
Content Typeの作成


Partsの中に適当なのが見つかりません。
まずPartを作成する必要がありそうです。
Partsの追加

Partの作成

Partの作成


関連月選択用のPartです。
PartのCreate


Createすると画面が変わります。
Fieldの追加


Add Fieldを押すと…
あってもよさそうなDateTime型やEnum型に相当するのが見つかりません。
Fieldの作成


日付が使われていそうな既存のContent Type「Milestone」を確認するとDateがText Fieldになってます。
renew185.png


しょうがないのでBoolean Fieldで追加を繰り返します。
Fieldの追加

作成しかけのContent Typeを使ってみる

思っていたのと微妙に違います(^^;)。
なかなか手ごわい感じ。先は長い。
コンテンツ作成

Add Named Partに変えてみる

同じPartを「Add Named Part」から追加してみたら、ラベルを付けることができました。
Add Named Part


新規作成画面ではこんな感じ。イメージ通りです。
開花期の他、収穫期や植え付けの時期など使いまわしできそうです。
これで季節が近づけばその月の花や作業を自動的にピックアップできるかな?
renew210.png

2018/02/11(日)Orchardに引越し 1日目

Orchard CMSはデータベース系のサイトによく合う気がしてきたため、もし今のサイトをOrchardに移行するともっと自由自在にカスタマイズできる気がして試して見ることにしました。

まずは適当につけたサイト名を変更

設定変更


書き換わりました
設定変更完了

トップページを作成

「Set as homepage」にチェックを入れ、Widgetを追加します。
(このあたりがとっつきにくい感じ。慣れれば何とかなりそうですが)
新規ページ作成


コンテンツを入力します。
コンテンツ入力

発行後の確認

左肩のリンクをクリックすると同じWindow内で公開サイトに変わります。Previewリンクは別窓で開きます。
発行後の画面


予想したのと違います…。
新しいホームページ

テーマを変える

デザイン苦手なので、まずは既存のもので使えそうなのがないか探して見る。
テーマ変更


The Blog Themeに変えてみました。
The Blog Theme


幅を狭めると…。
The Blog Themeモバイル用

いい感じ。
しかし山里に宇宙飛行士はない。

画像を差し替えようにも画像の場所が分からず、The Default Themeに変えてみました。
The Default Theme

探していたのはこれです。これで充分です。

2017/07/22(土)ASP.NET WebFormのMenuコントロール その2

PC専用(タブレット含む?)ということであれば、Menuコントロールのプロパティだけで何とかなりそうです。
こちらからそのまま貰ってきて、エラーの出るOnMenuItemClick="Menu1_MenuItemClick"を削除、DataSourceIDにサイトマップのIDを設定。
MaximumDynamicDisplayLevels="10"とあるので、頑張ってデータ作ってみました。
bootstrap風Menuコントロール

bootstrapのドロップダウンは1層だけですが、WebFormのMenuコントロール用cssとの合わせ技でしょうか、8層くらいまでなら表示できそうです。右端に到達したら折り返してきてくれるかなと試しましたが、表示が切れました。

WebFormは社内用のアプリで多く使っていて今まではPCかつIE専用で押し通すことも可能でしたが、最近はスマホからVPN経由で使いたい、と言うような要望も出てきています。
スマホのことを考えると干渉するかもしれないcssの合わせ技は、不具合の出る端末見つかった時には手に負えないかも。

スマホ用のサイズでデザインが崩れないようにするには、jQueryでMenuコントロールのcssを取り除け、という情報が多いようです。一番詳しいのはこちら。個人的にjQueryでcssやstyleいじるくらいならC#でSiteMapデータをグリグリしたい派なので、実際には試していません。

2017/07/20(木)ASP.NET WebFormのMenuコントロールに苦戦中

久しぶりに仕事でASP.NET WebFormの新規プロジェクト作成。
bootstrap風になってからは初めてかも。
まず最初にWeb.sitemapを追加しSite.Masterの下記部分をメニューコントロールに切り替えようとしたらよもやの大はまり。
<div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
        <li><a runat="server" href="~/">ホーム</a></li>
        <li><a runat="server" href="~/About">詳細</a></li>
        <li><a runat="server" href="~/Contact">問い合わせ</a></li>
    </ul>
</div>
一層目だけならそれらしくなりました。
20170720001.png

<asp:Menu ID="Menu1" runat="server"
  DataSourceID="SiteMapDataSource1" CssClass="navbar-collapse collapse"
  DynamicMenuStyle-CssClass="dropdown-menu" StaticDisplayLevels="2"
  StaticMenuStyle-CssClass="nav navbar-nav" StaticSelectedStyle-ForeColor="#ffffff" StaticSelectedStyle-BackColor="#000">
  <StaticSelectedStyle CssClass="active" /><!-- これが効かない -->
</asp:Menu>
現在選択されているページのcssにactiveを追加したいのにselectedになったまま。仕方がないので StaticSelectedStyle-ForeColor="#ffffff"とStaticSelectedStyle-BackColor="#000"を追加しています。

二層目を追加すると、ウインドウサイズが小さくなるとデザインが崩れるので、面倒くさくなって人様のライブラリ入れてみようとTie.Controls.BootstrapをNugetで入れてみたところ、DataSourceIDを知らないと言われました。
旧プロジェクトの入れ替え用なので、Web.sitemap読んでくれないと困るんですわ。

確か家で一度やったはずなのにこんな時に限ってソース上げてないのでなぜ??と思って帰ってから確認したら、とても人様に晒せるようなソースではありませんでした(^^;)。
Menuコントロール使わずラベルに変え、Site.Master.csのPage_LoadイベントでSiteMapデータをぶん回してます。しかも文字連結でhtml作ってる突込みどころ満載なコードでとても後進に残せそうに無い感じ。ブログ用にそれらしい絵が欲しくて適当に書いた感満載。
とは言えこれをユーザーコントロールに変えるのが手っ取り早いのかも…。
SiteMap.CurrentNode.IsDescendantOf(node)までチェックしていて、子供が選択されていれば親にactive付くようになっているし。

2019/04/19
カスタムコントロール版をGitHubに上げました。

2017/07/10(月)PCデータのバックアップ取りましょう

昨日落雷でPC使用中に何度か電源不安定になってから完全に停電になりました。
そのせいかどうか断定はできませんが数分後に停電が終わってからしばらく普通に使っていて、パソコンの電源を落とす前にブラウザのホームへ戻ろうとしたら戻れない。
お気に入りのリンク集を手書きのHTMLで作り、外付けハードディスクに置いてブラウザのホームに設定していたので、外付けハードディスクを確認したら、なぜかフォルダの数が少ない。
残っているフォルダを開いたら、中身が空っぽ。
嫌な予感がしましたが、ランサムのお陰でこれだけは消えたら嫌、というものはバックアップ取ったり印刷したりしていたので焦りはなし。

今日帰ってきてPC立ち上げたら何も無かったかのように中身にアクセスできました。
それでもバックアップの重要性を改めて思い知りました。
OK キャンセル 確認 その他