0

Joomla Web サイトを作成する必要があります。私は PHP プログラマーですが、Joomla は初めてです。チュートリアルや他のスタッフを読んで、私は多くの時間を費やしました。ウェブサイトは非常にシンプルで、レストランの訪問カードです。

Joomla 2.5 をインストールしました。2 日間かけて、次の作業を行いました: - メニューの作成 - 言語スイッチャーを使用した多言語サイト (2 言語) の作成 - 単純な静的ページ (記事) の作成 - 連絡先として 1 つのページの作成 - 私の Web サイト用の単純なテンプレートの作成

しかし、私はいくつかのことを行うことができず、チュートリアルやグーグルで答えが見つかりませんでした. このファイルhttp://img1.uploadscreenshot.com/images/orig/1/2621034793-orig.jpgを開くと、サイトの 3 つの異なるページの画像を見ることができます。

1) 右側に 3 つの画像がある記事。基本的に、カスタム HTML (この場合は画像) を含む記事を作成するためのベスト プラクティスが何であるかはわかりません。たとえば、テキスト用と画像用の 2 つの列を持つテーブルを作成できます。Joomla がなければ 2 つの div を作成しますが、ここでこれを行うにはどうすればよいでしょうか? また、カスタム html では、言語ごとに同じことを行う必要があります。言語ごとに画像を追加する必要がありますが、これは好きではありません。私は本当にこれに対する解決策を見つけていません。何か提案はありますか?

2) 右側に 3 つのボタンがある記事。ランディングページの記事です。これはおそらく同じ質問です -カスタム HTML を含む記事を作成する方法 (この場合、これらは 3 つのボタン - Web サイト内のページへのリンク)ですか? ここでも、テキストとボタンを含むテーブルを作成できますが、これは言語ごとに行う必要があります。それは良い習慣ですか?右側に 3 つのボタンがある記事を作成するための他の提案はありますか? カスタムモジュールを作成できるかもしれませんが、これは奇妙に聞こえます。

3) グーグルマップ付きお問い合わせページ。連絡先の詳細を記載した連絡先ページを作成しました。これは別の質問です。別の機会に尋ねます。

4

1 に答える 1

1

Renathy さん、こんにちは。Joomla へようこそ! 1) もちろん、エディターに div を挿入し、float でスタイルを設定できます。しかし、あなたが言及したように、これは翻訳にはかなり悪く、ユーザーはレイアウトを簡単に壊すことができます.

次のオプションがあります。

1.a) Joomla 2.5+ は、各記事の [画像とリンク] グループで指定できる記事の画像とサムネイルをサポートしています。3 つの画像に拡張するにはかなりの作業が必要です。プラグインを作成 (または厄介なコア ハックを実行) し、ビューをオーバーライドする必要があります。また、十分に文書化されていません。それについての議論がここにあります: Add additional images to article in Joomla 2.5

1.b) プラグインを使用して、上記のように余分な画像を追加します。次に、ビューのオーバーライドの代わりに画像を表示するためのモジュールを使用します。

1.c) カスタム画像管理ソリューションを使用して画像を記事にリンクしてから、プラグインを使用してそれらを表示します。より簡単ですが、それでも多くの作業が必要です。私は 1 つのサイトでこれを実行し、問題なく動作しましたが、今は多くのコードを変更します。私の知る限り、これを行う拡張機能はありません。

3 つのソリューションはすべて、必要に応じて反応する div フロートを使用してコンテンツの適切なフローティングを使用することを可能にし、コンテンツのレイアウトを画像から分離するため、コンテンツ エディターのための堅実な環境と簡単な翻訳が得られます (ただし、 1.a) または 1.b) を使用する場合、Falang や JoomFish などの適切な翻訳スイートを使用することを強くお勧めします (Falang は古い 1.5 バージョンとは異なる Joomfish のポートです)。

2) モジュールを使用して、上記のようにこれに対処します。テンプレートでメインを作成します

<div class="content-box">
<div class="content-main"> here you will place your component's output.</div>
<div class="content-sidebar"> here you will output a new module position, name it "article-sidebar"</div>

次に、次のようにスタイルします。

div.content-box {
 /* here you need a clearfix choose one here: https://stackoverflow.com/questions/211383/which-method-of-clearfix-is-best/211467#211467 */
}
div.content-box div.content-main {
  width:70%;display:inline-block;float:left;
}
div.content-box div.content-sidebar {
  width:29.99%;float:right;
}
div.content-wide div.content-sidebar {
  display:none;
}

ただし、すべてのページでこれが必要なわけではない場合は、テンプレートを生成するときにプログラムで処理できます。

アイデアは次のとおりです。テンプレート出力で、書いている場所

<div class="content-box">

記事のサイドバーに何かが含まれている場合は、代わりに条件付きでクラスを追加します。

<div class="content-<?php 
if ($this->countModules("article-sidebar")==0) 
  echo "wide";
else
  echo "box";
?>">

これにより、div のクラスが動的に変更されるため、1 つの CSS のみを提供します。

この時点で、モジュールを作成し、「選択したページのみ」で表示することを選択します。

3) ビューを変更したい場合は、その場でファイルを変更しないでください。代わりに、すべてのビューの php をテンプレートのフォルダー /html/com_contact/contact の下のフォルダーにコピーします。別のレイアウトを変更する場合でも、そこに default.php をコピーする必要があります。次に、Googleマップを挿入して変更します。

最終的な考慮事項。コア ファイルの編集は控えてください。Joomla はセキュリティ更新プログラムを発行することがありますが、それらを適用するのは面倒です。あなたのサイトで頑張ってください。

于 2013-01-27T22:39:58.977 に答える