他のプロジェクトフォルダからローカル拡張機能へのシンボリックリンクを作成できますか?私は共通のローカルサーバーを持っており、すべてのローカルプロジェクトインストールに同じ拡張機能を実装する必要があります。シンボリックリンクを入れようとしましたが、期待どおりの出力が得られない場合があります。その特定のプロジェクトのキャッシュをクリアした後にのみ取得します。
5 に答える
あなたのシナリオは私が推測する一般的なものです。しかし、オマールが言ったように、いくつかのtypo3インスタンスを介して拡張機能の同じコードベースにリンクすることは良い習慣ではありません。しかし、私たちはあなたと同じ構造を持っています、私たちはSVNを通してこれを実現します。すべてのプロジェクトにはSVNリポジトリがあり、一般的な拡張機能には独自のリポジトリがあります。svn:externalsを介して、拡張機能は具象プロジェクトにリンクされます。これには、具象プロジェクトの拡張子を変更でき、他のすべてのプロジェクト(ただし、svnから更新する必要がある)をコミットした後、それから貢献できるという利点があります。これもあなたのニーズに合うと思います。
私があなたの質問を正しく理解しているなら、あなたは同じサーバー上にいくつかのTypo3サイトを持っていて、シンボリックリンクを使ってそれらの間で拡張機能を共有したいと思っています。多くの拡張機能はテーブルを使用し、すべてのサイトには通常独自のデータベースがあるため、それを機能させるには多くの調整が必要になるため、これはあまり良い考えではないと思います。
代わりに、typo3conf / ext / extension_nameフォルダー内の拡張ファイルにすべての変更を加えてから、拡張をt3xファイル(バックエンドのExt Manager)にエクスポートすることができます。このt3xファイルは、他のすべてのサイトに拡張子(インポート拡張子)としてインストールできます。
拡張機能がデータベースを使用せず、頻繁に変更を加えることを計画している場合は、その機能を実行できるはずです(シンボリックリンク)。それ以外の場合は、最初に説明したアプローチを使用することをお勧めします。
私はこれを試していませんが、Typo3にグローバルに拡張機能をインストールできるはずです。これが意味するのは、両方のサイトが同じTypo3コア/ソースを使用していると仮定して、指定された拡張子が「typo3conf / ext/」ではなく「(typo3_src /)typo3 / ext /」内に配置されることです(したがって、typo3_srcは場所へのシンボリックリンクです)コアの)。
インストールツールを使用して、グローバル拡張機能のインストールを有効にできます。ツール内に移動したら、[すべての構成]をクリックして、allowGlobalInstallを検索します。または、localconf.phpに次の行を入力します。
$TYPO3_CONF_VARS['EXT']['allowGlobalInstall'] = '1';
最後に、大事なことを言い忘れましたが、'typo3 /ext/'ディレクトリが書き込み可能であることを確認する必要があります。
これが助けになることを願っています。ご不明な点がございましたら、お気軽にお問い合わせください:)
ビョルンが言ったように、私はそれらをグローバルにインストールすることを提案したいと思います。ソースを更新するには、それに応じて拡張機能を移動する必要があります。
「期待される出力」について:これらのフォルダー内のコードはさまざまな方法(主にページコンテンツと構成設定)でキャッシュされるため、常に実行されるとは限らないことに注意してください。これが、現在のインストールの「外部」から行われた変更が、これらのキャッシュをクリアせずに出力に反映されない可能性が高い理由です(これまでに観察したように)。
拡張機能マネージャーを介して実際に拡張機能をインストールする場合、キャッシュは(正しく構成されている場合)クリアする必要があります(関係者はclass.em_index.phpでclearCacheOnLoadを検索して、clear_cacheCmd('all')を明らかにする場合があります)。これを実行するために、インストールプロセス中に通常チェックされる小さなチェックボックスがあります。
したがって、Omarの最初のアプローチは、私が見ているように、「期待される出力」を取得するためのより簡単な方法であり、グローバル拡張との混乱を少なくします。