タグ付けされた質問 「component」

コンポーネントはJoomla!の主要な機能ユニットです。それらはミニアプリケーションと見なすことができます。簡単に例えると、Joomla!はオペレーティングシステムであり、コンポーネントはデスクトップアプリケーションです。


1
コアコンポーネントにカスタムフィールドを保存する方法
各#__contentアイテムに単一の単純なフィールドを追加しようとしています。「連絡先」を「コンテンツ」に置き換えて、コアコンポーネントへのカスタムフィールドの追加のチュートリアルを注意深く実行しました。管理コンテンツアイテムの編集フォームにタブ/フィールドが正常に含まれているインストール可能なプラグインがあり、その厄介な「保存」機能を除いて、素晴らしい動作をします。 Savingへの唯一の参照は(もう一度、連絡先ではなくコンテンツ): 追加のフィールドは、プラグインディレクトリのforms / contact.xmlファイルからロードされます。これらのフィールドは、nameプロパティが「params」に設定されたfields要素にあることが重要です。このプロパティ名を設定しない場合、フィールドは管理サイトに表示されますが、値は保存されません。 この注意書きが存在するという事実は、Joomlaがフィールドが存在することを知っているべきであり、コアコードがそれを処理することを示唆していますが、保存されていないので、追加すべきイベントが他にあるのではないかと思っています。 ここに私が必要とするシンプルなフィールドがあります-ユーザーには見えませんが、それでも重要であり、それを保存するためのCCKの必要性の近くにはありません。 カスタムフィールドを保存できない原因は何ですか? 更新:カスタムフィールドがデータベースに保存されていることを期待して、#__ contentテーブルに同じ名前の列を追加してみました-運はありませんでした。 gdp.php class plgContentGdp extends JPlugin { protected $autoloadLanguage = true; function onContentPrepareForm($form, $data) { $app = JFactory::getApplication(); $option = $app->input->get('option'); switch($option) { case 'com_content': if ($app->isAdmin()) { JForm::addFormPath(__DIR__ . '/forms'); $form->loadFile('content', false); } return true; } return true; } } ...

4
初心者開発者向けのJoomla 3.x拡張機能開発チュートリアル
私はJoomla 1.0.15バージョンで広範囲に働き、複数の拡張機能を開発しました。また、Joomla 1.5.xで開発を継続しましたが、このリリース後に開発は中止されました。今、私はJoomla 3.xで再び開発を始めたいです。JoomlaがMVC、レスポンシブテンプレート、ワークフローなどの複数の機能強化を行っていることがわかります。 誰かがこれのための最も簡単なロードマップとチュートリアルリンクを提供できますか? 現在、新しいワークフローは何ですか? 新しいMVCアーキテクチャとは何ですか?

1
コンポーネントにドラッグアンドドロップの順序を追加する
Joomla Hello Worldチュートリアルに基づいて小さなコンポーネントを開発しましたが、今では、他の多くのJoomlaコンポーネントに含まれているのと同じドラッグアンドドロップの並べ替えを実装したいと思います。 最初の列で並べ替えることにより、各テーブル行をドラッグして位置を変更できます。 Joomlaにこの機能を追加するネイティブな方法はありますか、それとも自分でプログラムする必要がありますか? 正しい方向へのナッジは高く評価されます。

2
Joomla 2.5コンポーネントをテストする方法
StackOverflowでこの質問をしましたが、ここで質問することをお勧めします。 ユニット/システム/統合テストに精通しているので、Joomlaコンポーネントをテストしたいと思います。これを行う標準的な方法はありますか? 私はテストを含まないこのjoomla mvcコンポーネントの例に取り組んでいます。JoomlaのドキュメントやさまざまなWebサイトで見つけることができるのは、テストコードとbootstrap.phpファイルの断片だけです。具体的に私が知りたいのは: コンポーネントのテストコードを配置する場所 独自のbootstrap.phpを提供する必要がありますか、それとも「joomla」を含めてテストを実行する方法がありますか 理想的には、テストと実行方法に関する指示があるオープンソースのJoomlaコンポーネントに誰かを誘導することができます(クイックルック、最初の5つはテストがありませんでした)。 私が見つけた最も近いものはこれで、私は私のダミーテストに基づいています。 これまでにやったこと コンポーネントのディレクトリ構造: こんにちは世界/ admin / ... テスト/ bootstrap.php phpunit.xml modelHelloWorldsTest.php 地点/ ... helloworld.xml 最初の試み テストを実行するには、Joomlaインストールにコンポーネントをインストール/コピーします。次に、〜joomla / administration / components / com_helloworld / testsから次のコマンドを実行します。 php phpunit-4.2.phar --bootstrap bootstrap.php . 私が受け取るところ Fatal error: Class 'ContentController' not found in C:\inetpub\wwwroot\ws_cairnstest\administrator\components\com_helloworld\tests\modelsHelloWorldsTest.php on line 5 これを集めると、bootstrap.phpが正しくなく、必要なJoomlaクラスがロードされていません。これについては、ある時点で調査しますが、これはテストを実行するためだけの多くのセットアップのようです。 bootstrap.php: ...

3
コンポーネントがインストール/有効化されているかどうかを確認する最良の方法は?
joomla 2.5と3.xの間で、別のコンポーネントがインストールおよび/または有効にされているかどうかを確認する最良の方法は何ですか?そこと呼ばれるヘルパークラスを存在するJComponentHelperが、私は信じているisEnabled成分であるが、いくつかのJoomlaのバージョンにインストールされていない場合にチェック機能が実際にエラーがスローされます。 これは、データベースに直接アクセスするのと同じくらい簡単ですが、他のクラス/ヘルパー/メソッドが使用されているかどうかを確認したかったのです。

6
Joomla Component ToolまたはScaffold?
Joomla 3.2用のプラグインをいくつか作成し、最近、アパートの賃貸を管理するコンポーネントを開始しました。コンポーネントを迅速に実行するために必要なファイルで作成された基本的なファイル/フォルダー構造をすでに持っているフレームワークがあるかどうか疑問に思っていました。 起動するたびにホイールを再作成する必要はありません。また、コンポーネントを実行するために必要なファイルとクラスは、基本的な必要な構造を持っています。すでにそこにあるものはありますか? 存在しない場合、どのストックJoomlaコンポーネントが動作する良い例でしょうか? 編集:答えを見たとき、多分「フレームワーク」は用語の悪い選択だったと思います。独自のコードベースを持つものは探していません。コントローラー、ビューフォルダー、モデルフォルダーなど、すべてのJoomlaコンポーネントに共通で実行に必要なファイル/フォルダー構造を持つものを探していました。 私が探しているものには、まだJoomlaコアコードの一部ではない依存関係がありません。 joomla 1.5には、必要なすべてのファイルがあり、コンポーネントの名前と一致するようにクラスとファイルの名前を変更してインストールするだけで、基本的な管理ビュー、フロントエンドメニュービューなどがあります。 ...私はそこに誰かが作成したことを願っています

2
コアバックエンドコンポーネントにカスタムボタンを追加する
元のソースコードを変更せずに、標準のJoomla 3コンポーネント(com_contents)のJToolbarにカスタムボタン(もちろん、カスタムアクション付き)を追加することはできますか? 背景:com_contents大規模なメール機能を作成するには、メイン画面(すべての記事のリスト)にボタンを追加する必要があります。もちろん、標準のJoomlaファイルを変更することはできますが、変更した場合、Joomlaを新しいバージョンにアップグレードすると、カスタマイズが失われます。しかし、どういうわけかボタンを追加できれば、更新時に変更を失うことはありません... そして、これが可能なら、どうすればできるのでしょうか?プラグインを作成しますか?このアドオンの作成をガイドするチュートリアルはありますか?

2
コンポーネントから#__contentに記事を追加するにはどうすればよいですか?
私のコンポーネントは、従来とは異なる方法でフロントエンドから記事を追加する必要があります。MySQLでそれらを挿入できることはわかっていますが、可能であればコア関数を使用したいと思います。 components \ com_contentのコードを研究したので、発生する必要のあるすべてのものに少し圧倒され、私はそれを過度に複雑にしていることを望んでいました。 Joomlaでこれの例はありますか、それを達成するために従うべき手順の規則はありますか?

3
エラーメッセージにSQLが表示されないようにする
私のテーブルでは、うまく機能する重複エントリを防ぐために 'col1'にインデックスを作成しましたが、重複エントリを追加しようとするとユーザーに表示される結果のエラーメッセージは、テーブルの接頭辞。 JoomlaがエラーメッセージにSQLを表示しないようにする方法はありますか? グローバル設定のエラー報告設定を変更しようとしましたが、私が知る限り効果はありません... メッセージの例: エラー 保存が次のエラーで失敗しました:キー 'TestKey'の重複したエントリ 'Test' SQL = INSERT INTO `jml_mycomp_tbl1`(` id`、 `col1`、` order`、 `state`、` created_by`)VALUES( '0' 、「テスト」、「2」、「1」、「730」)

1
既存のコンポーネントへのタグ機能の追加
拡張機能の内部でタグが機能することを期待しています。これを見て、フィールドを編集ビューに表示させましたが、もちろんどこにも保存されません。 com_content記事タグの処理を見ると、関係が完了する前に、徹底的なマッピング交換が行われます。したがって、内でタグとコンテンツの関係が構築されることがわかり#__contentitem_tag_mapます。特にタグ用のコンポーネントでこのような新しいテーブルを作成する必要がありますか、それともcom_contantがそれを処理する方法であり、他のフィールドタイプのようにタグを列だけに保存​​できますか? 拡張機能でこれを行う必要がありますか、それともプロセスを大幅に簡素化するために使用していないものはありますか? おそらく「エクステンション101へのタグの簡潔な追加」が役立つかもしれません。 このコンテキストでタグについて言及しているドキュメントでは特に何も見ていませんが、関連がある場合は、FOF / RADを使用してこの拡張機能を開発しました。

2
コンポーネントビューページにjoomlaのデフォルトツールバーを追加する
私はjoomla 2.5と3の両方のmvcコンポーネントを開発しています。多くのコンポーネントで、管理者側の設定ページの上部に新規、編集、公開、ゴミ箱、オプションなどのjoomlaのデフォルトのコマンドボタンを追加しました。例えば。コンポーネント->ウェブリンク->リンクページに移動すると、右上にあるコマンドボタンについて話しています。 では、コンポーネントの設定ページにコマンドボタンを追加するにはどうすればよいですか?クリックすると、それぞれのアクションが実行され、それぞれのビューが表示されます。たとえば、「新規」ボタンをクリックすると、MVCコンポーネントのエントリの追加ビューがそのまま表示されます。 それで、管理者側のコンポーネントの設定ページに完全に機能するjoomlaのコマンドボタンを追加するにはどうすればよいでしょうか。

9
モジュールのみでコンポーネントなしでページを作成する方法は?
joomlaでは、すべてのページをコンポーネントビューにリンクする必要があります。コンポーネント出力のないページを作成するにはどうすればよいですか? 例:私のホームページでは、モジュール出力のみが必要です。このため、ホームページを「空の記事」にリンクできますが、サードパーティの拡張機能を使用せずにこれを行うより良い方法はありますか?

1
フィルターとページネーションを使用してビューを作成する方法
Joomla 3.xのフィルターとページネーションを使用してビューを作成したいのですが、何をどこに含める必要があるのか​​わかりません。 とりあえず、モデルを拡張JModelListし、getListQuery()メソッドを使用してデータをフェッチし始めました。 <?php defined('_JEXEC') or die; class smartModelProducts extends JModelList{ protected function getListQuery(){ // Initialize variables. $db = JFactory::getDbo(); $query = $db->getQuery(true); // Create the base select statement. $query->select('*') ->from($db->quoteName('#__smart_products')); return $query; } } 私のview.html.phpはこのようになります: <?php defined('_JEXEC') or die; class smartViewProducts extends JViewLegacy{ function display($tpl=null){ $app=JFactory::getApplication(); $jinput = $app->input; ...

1
コンポーネントで他のコンポーネントのモデルをどのように使用できますか?
コンポーネントを作成していますが、#__ contentテーブルにアクセスする必要があります。コンポーネントcom_contentは、コンポーネントがそのテーブルで実行する必要があるすべてのことを実行します。コンポーネントのコントローラーにcom_contentモデルをインポートするにはどうすればよいですか? 独自のテーブルを作成する代わりに既存のテーブルを使用することは良い習慣ですか?私のコンポーネントはコメント付きのフォトギャラリーを表示する予定であり、#__ contentテーブルを使用してコメントを保存したいと思います。コメントに新しいテーブルを作成する必要がありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.