ラベル MODX の投稿を表示しています。 すべての投稿を表示
ラベル MODX の投稿を表示しています。 すべての投稿を表示

2023-08-26

Evolution CMS, フォルダーに入れるだけの画像のスライドショー

CMS名 : Evolution CMS 3.2.2

画像のスライドショーをつくってみた。

登録は簡単、管理画面からフォルダーをつくって、画像をアップロードするだけ。
フォルダーの中にある画像を読み取って、自動で表示してくれる。 追加でアップロードしても、ページを再び開くだけで、追加の画像も表示される。 コメントも後から入れられる。

 

管理画面から画像を image/kitchen にアップロード


画像を表示するページに

[!photox &folder='kitchen'!]

を記述。 (スペニット名を photox にした場合)

記述したページを開くと、


 

フォルダー内のる画像を全て読み取り、サムネイルを表示。

画像をクリックすると、ポップアップ表示される。

コメントも画像ごとに表示される。

マウスやキーで次の画像が表示される。スマホではスワイプで画像が切り替わる。

画像を表示するプログラムは全て管理画面で完結する。
別にエディターを用意する必要もなく、ネットにつながっているブラウザーさえあれば世界中どこでも作成できる。
サーバーにEvolution CMSをインストールする時間を含め、作り始める準備まで10分とかからない。 決して大げさな言い方ではない。

PHP言語の知識が必要だが、ここまでできると、ホームページづくりも楽しくなる。

プログラムは、後日公開予定です。


#Evolution #CMS #画像 #スライドショー #php


2023-08-23

Evolution CMS, 優れた機能を持つホームページ管理ソフト

CMS名 : Evolution CMS 3.2.2

ブログというものが一般的になる前は、パソコン専用のソフトでホームページ(HP)を作成し、サーバーにデータをアップロードするという作業をしてきた。 特定のパソコンで更新作業するのが一般的だ。

Evolution CMS(Evolution)は、ホームページを管理するソフトだ。
ネットさえ繋がっていれば、ブラウザーを通して世界中どこからでも内容を更新できる。 また、ワープロのような感覚で、文章を作成したり、画像を貼り付けたりすることができる。 特定の更新作業を自動的に行ってくれるなど、使いこなせばブログより便利である。

現在では、パソコン、タブレット、スマホなどからHPを更新できる。
Wordpress というCMSは、ブログや企業・個人がアピールできるHPソフトで、世界で圧倒的なシェアを持つ。 ネット上での情報が多く、書籍も豊富だ。

一方、Evolutionは、国内では使用者が少ないと思われる。 Evolution系のCMSは、複数存在している。 wikipediaによれば、本家版はこちらとなっていて、日本版・ウクライナ版の開発者が共同で開発を進めている。
本件で扱うCMSは、https://evo.im/からダウンロードしたものである。 同じEvolution系でも管理画面が独特で、操作は異なる。しかし、コマンドなどは共通したものが多く、参考になる。

Evolutionの特徴は、一部であるが次の通り。

  • テンプレートが比較的容易に作成できる。
  • 消費メモリーが少ないことから動作が速く、サーバーにも優しい。
  • 記事(文章)は、ツリー型に表示されて管理がしやすい。
  • 複数の記事を同時に編集できる。
  • 優れた機能を持つエディターがある。
  • 独自のコマンドがあり、比較的多機能で柔軟なサイトを作成できる。
  • 直接データベースのデータを抽出できる機能がある。
  • Evolutionのエディタを使って、PHP言語で独自のモジュール(スペニット)を作成できる。

 

データベースに係る独自の機能を作成してみた。

データベースを作成し、山岳データを複数登録した。
山岳名、標高、所在地のいずれかまたは、複数の条件を入力し抽出、表示した。

任意のページに、検索条件を入力するためのテキストボックスとボタンを作成する。

検索ボタンをクリックすることで、条件内容を引数に持ったまま、指定ページに移動する。

指定ページに、条件を読み取り、データベースから条件に合ったデータを抽出するプログラムを設定する。(Evolutionでは、PHP言語のプログラムを直接記述できるスペニットという機能がある)


 

指定ページを開くと、スペニットというプログラムが実行されて、実行結果が表示される。

以上が、独自に作成したプログラムです。

使い方に慣れると、上記のプログラムは、30分程で作成できる。

他に、記事の検索、新しい記事一覧、最新の更新記事一覧、関連記事の一覧などアイディアあるHPが作成できる。 もちろん、公開されている既存のモジュールも利用できる。

Evolutionに関する情報は少ないため、一から作成するには敷居が高いのが難点だ。 また、バージョアップは行われているものの、後付のモジュールに関して、wordpressのような頻繁に改善されているようにはなさそうだ。

既存のものを組み合わせて使うCMSと違い、オリジナルモジュールも含め一から作り上げて、独自の機能を持ったホームページという点では面白いと思う。

 

#CMS #Evolution #modx #管理ソフト #データベス #mysql #モジュール #PHP #スペニット #wordpress #プログラム

2023-07-29

Evolution CMS, 作成日が出力されず

 CMS名 Evolution CMS Version 3.2.2

https://hitokotoubuntu.blogspot.com/2019/12/evolution-cms.html

にもあるように、記事に作成日や更新日を出力するには、PHx というプラグインをインストールする必要がある、ということを記した。

しかし、Ver 3.x で、PHxは対応していない。

強引にPHxをインストールできるが、Ditto(スペニット)、DocLister(スペニット)に不具合が生じる。

#CMS #Evolution #不具合 #PHx #Ditto #DocLister #更新日 #作成日


2021-08-31

CMS Evolution, アップデートできない対処法

 CMS : CMS Evolution 1.4.12


<< トラブル内容 >>

1.4.15 へ アップデートできない。

アップデート処理をしても、再度「アップデートしてください」お知らせが表示される。

 

 << 解決方法 >>

警告(英)にバックアップファイルを作成してくださいという、旨の表示刺される。
指定されたフォルダーを作成し、タブメニューからバックアップ処理をする。
後に、アップデート処理をする。

サイドログインすると、アップデートがされている。 


通常は、フォルダーを作成し、バックアップ処理をせずにアップデート処理をするが、できない場合の手順である。

 

2021-02-06

jquery bxslider 画像の余白を上下左右均一にするMODX その2

 Jquery bxslider にはオプションで

 mode: 'fade'

がある。 fade を指定すると

余白が大きくなる場合がある。


余白を狭くするには、以下のように CSSを書き換える。

.bx-wrapper img {
    margin-left: -40px;
}



のように、余白が上下左右均等になる。

 

2020-08-09

Evolution CMS,ページごとに閲覧できる人を振り分ける

ソフト名 : Evolution CMS 1.4x

下記のように、「所属グループ」の項目で ID登録者と非登録者の閲覧権限を設定する。


   << 設定方法 >>
   
1. [グローバル設定] -> [グループ管理機能を使用] で

    「はい」を選択

2. [権限管理] -> [グループ管理(ウェブ)] -> [ウェブユーザーグループ] で

    「Site Admins」(任意名)を作成し、
   
    [グループリンク] で
    ユーザーグループを Site Admins 、リソースグループを Site Admin Pages で実行ボタンで設定する
   

3. [権限管理] -> [ウェブユーザー管理]で

    「siteadmin」を作成し、グループ管理(ウェブ)から 「Site Admins」を選択
   
4. 任意のページの [所属グループ] で

    グループ制限なし(非ID登録者)か Site Admin Pages(ID登録者) のどちらかを選択可能にする。
 

設定完了確認 [権限管理] から

 

 

設定は、以上

ID登録者のみに閲覧権限があるページを非ID登録者が見ようとすると、下記のようになる

 

 

 

2020-06-24

Evolution CMS, 2.xのAjaxSearchに対するエラー対処方

ソフト名 : Evolution CMS 2.x
スペニット名 : AjaxSearch

Evolution CMS 2.x で検索機能を有効にした場合、以下のエラーが出力された。

<< エラー内容 >>

« Evolution CMS Parse Error »

Call to undefined method EvolutionCMS\Database::freeResult()


<< 対処方 >>

Package Management から、AjaxSearchのバージョンを変更する。

Version 1.12.1 から masterに変更し、Resetをクリックする。

以上

2020-06-05

Evolution CMS, 検索結果を特定ページに表示する, DLMenu

ソフト名 : Evolution CMS 1.4x

Extras : DLMenu


[[ifsnippet? &name=`AjaxSearch`]] 
	[!AjaxSearch?
		&ajaxSearch=`0`
		&addJscript=`1`
                .......
&landingPage=`検索結果ページのID`
&showResults=`0`
                .......
!]
&landingPage=`検索結果ページのID`
で設定。検索ボタンをクリックすると、指定IDに結果を表示する。


検索結果のページには

[!AjaxSearch? &showInputForm=`1` &ajaxSearch=`0`!]
を記述する。
&showInputFormの値が1の時は、再検索のテキストボックスが表示される。
0 の時は非表示となる。

参照させていただいたサイト

tag: #evolution, #cms, #dlmenu, #ajaxsearch

2020-05-13

Evolution CMS, メニューの親リソースのリンクを有効または無効に設定する

ソフト名 : Evolution CMS Version 1.4.11

デフォルトでは、メニューの親リソースのリンクが無効("#")になっている。

BLOG -+                    (リンク無効) 
            +Mini-Blog    (リンク有効)
            +Just a pre    (リンク有効)
            +New docu   (リンク有効)


上記で親リソースのリンクを有効にするということは

BLOG -+                    (リンク有効)
            +Mini-Blog    (リンク有効)
            +Just a pre    (リンク有効)
            +New docu   (リンク有効)


にするということになる。

<< 変更箇所 >>

メニューのプラグイン DLMenu を再設定し、リンクを有効にするためには

[[DLMenu? 
.......中略.....
&parentRowTpl=`@CODE:<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" title="[+title+]">[+title+] <b class="caret"></b></a>[+wrap+]</li>`
]]
から
[[DLMenu? 
.......中略.....
&parentRowTpl=`@CODE:<li class="dropdown"><a href="[+url+]" class="dropdown-toggle" data-toggle="dropdown" title="[+title+]">[+title+] <b class="caret"></b></a>[+wrap+]</li>`
]]
に変更する

<a href="#"  から  <a href="[+url+]"  に変更する。

参照URL
http://docs.evo.im/en/04_extras/dlmenu.html (英)

2019-12-15

Evolution CMS,作成日や更新日をテンプレートに設定する

CMS名 Evolution CMS Version 1.4.10, 2.0.1

ModxやEvolution CMSのテンプレートの作成の基本は、まずはリソース変数を使えるようにする。
Modxで記事の作成日や更新日を表示するには、テンプレートに以下のように記述する。

作成日時 [*createdon:date=`%Y年%m月%d日`*]
公開日時 [*publishedon:date=`%Y年%m月%d日`*]
更新日時 [*editedon:date=`%Y年%m月%d日`*]
 
しかし、Evolution 2.xでは非表示になってしまう。
予め以下のモジュール(プラグイン)をインストールしておかなければならない。

PHx

追加)
Version 2.0.1では PHx を導入すると、Ditto、DocListerに一部不具合があった。

2018-09-07

Evolution CMS,分岐条件の書式,@if

Evolution CMS のテンプレートやソースレベルでの分岐条件の書式。

Evolution CMS 1.4.5

テンプレート変数 : [*page-type*]

テンプレート変数 [*page-type*] が "home" のとき、「まる」を出力、
"home" 以外の時、「ばつ」を出力する。

[[if? &is=`[*page-type*]:=:home`
&then=`まる `
&else=`ばつ `]]

[*page-type*] の値が、文字列、数値の区別はない。

判定が 真 のとき、 &then を実行。
判定が 偽 のとき、 &else を実行。

判定条件は、テンプレート、チャンクに適用される。

参考にしたサイト (ロシア語)
http://docs.evo.im/04_extras/if.html

2018-09-06

bootstrap,スマートフォン画面でリンクが無効になる対処

ホームページのデザインで、bootstrapを使うと効率的に作成できる。
レスポンシブデザインでは、よく使われる。

さて、bootstrapを使っていると、PC画面では問題がないが、スマホで見るとリンクが無効になってしまう現象が起こることがある。
"terget"タグが無効になってしまう、現象なのか?

解決したときのメモは以下の通り

CMS Evolution 1.4.5 でホームページを作成。
記事の概要を出力するため、Dittoライブラリを使用した。

<div class="col-md-6 col-sm-6 col-xs-12 outline">
[!見出しと概要? &id='51' &limit='60'!]</div>
から

<div class="col-md-6 col-sm-6 outline">
[!見出しと概要? &id='51' &limit='60'!]</div>

に変更(col-xs-12を削除)することで、見出しのリンクが無効であったものが有効になった。


2018-01-26

MODX,サブメニューを常時表示する

MODXはCMSである。
古くからあるもので、余り大胆な変化をしていない印象を受けている。
一時開発が停滞していたようだが、最近は再び開発開始された様子。
特徴的なものの一つに、デザインは一般のホームページ作成ソフトでできること。他のCMS(wordpress、Joomla、Drupal、Xoopsなど)と比較すると作成しやすく、簡単なものであればHTMLとCSSの知識さえあればすぐにでも開発出来そうなくらいだ。
高度なものも作成可能で、Basic言語やPython言語程ではないが、ある種プログラム言語を学習するくらいの知識が必要である。いわゆる機能としての柔軟性もある。

■サブメニューを常に表示するチャンクを作成する。

最上部のメニューで、サブメニューのあるメニューを選択する。
サブメニュー一覧が特定エリアに表示される。
また、サブメニューのいずれかを選択しても、同じサブメニューが常に表示されている。

例として
---------------
メニュー階層
    A
    B━┳BB1
        ┣BB2
        ┣BB3
    C━┳CC1
           ┣CC2
    D
    E
-------------
選択メニュー        表示されるメニュー項目
      A            無し
      B            BB1, BB2, BB3
      BB1       BB1, BB2, BB3
      BB2       BB1, BB2, BB3
      BB3       BB1, BB2, BB3
      C            CC1, CC2
      CC1       CC1, CC2
      CC2       CC1, CC2
      D             無し
      E             無し


【 チャンク 】内容
[[Wayfinder? &startId=`p` &level=`1`
 &hideSubMenus=`true`]]

■応用として

サブメニューがある場合のみ
親メニュー、現在のメニューとサブメニューを表示する。
<@IF: [!Wayfinder? &startId=`i` &level=`2`
 &hideSubMenus=`true`!]>
<!-- 親メニュー --> 
    [*menutitle@u*]
<!-- 現在のメニュー -->
    [*menutitle*]
<!-- サブメニュー -->
    [[Wayfinder? &startId=`i` &level=`2`
 &hideSubMenus=`true`]]
<@ENDIF>
以上