Расширения и символические ссылки TYPO3 - PullRequest
2 голосов
/ 03 июня 2010

Можно ли создать символическую ссылку на локальное расширение из другой папки проекта?У меня есть общий локальный сервер, и мне нужно внедрить одно и то же расширение во все локальные установки проекта.Я пытался поставить символическую ссылку, но иногда я не получаю ожидаемый результат.Я получаю его только после очистки кеша этого перикулярного проекта.

Ответы [ 5 ]

2 голосов
/ 17 июня 2010

Полагаю, ваш сценарий распространен. Но, как сказал Омар, связывание с одной и той же кодовой базой расширения через несколько экземпляров typo3 не является хорошей практикой. Но у нас такая же структура, как и у вас, мы реализуем это через SVN. Все наши проекты получили репозиторий SVN, а общие расширения имеют свой собственный репозиторий. Через svn: externals расширения связаны в конкретный проект. Это имеет то преимущество, что вы можете изменить расширение в конкретном проекте и после фиксации всех других проектов (которые должны быть обновлены из SVN) внести свой вклад в него. Думаю, это тоже подойдет вам.

1 голос
/ 18 августа 2010

Как упоминал Бьорн, я бы предложил установить их глобально. Имейте в виду, обновление источника потребует соответствующего перемещения расширений ..

1 голос
/ 08 июня 2010

Я не пробовал этого, но вы должны иметь возможность устанавливать расширения глобально в Typo3. Это означает, что данное расширение помещено внутри '(typo3_src /) typo3 / ext /' вместо 'typo3conf / ext /', предполагая, что оба сайта используют одинаковое ядро ​​/ источник Typo3 (и, таким образом, typo3_src является символической ссылкой на местоположение ядра).

Вы можете включить установку глобальных расширений с помощью Install Tool. Оказавшись внутри инструмента, нажмите «Вся конфигурация», а затем найдите allowGlobalInstall. Или поместите следующую строку в ваш localconf.php:

$TYPO3_CONF_VARS['EXT']['allowGlobalInstall'] = '1';

Наконец, но не в последнюю очередь, вы должны убедиться, что каталог 'typo3 / ext /' доступен для записи.

Надеюсь, это поможет. Если у вас есть дополнительные вопросы, дайте мне знать:)

1 голос
/ 07 июня 2010

Если я правильно понимаю ваш вопрос, у вас есть несколько сайтов Typo3 на одном сервере и вы хотите поделиться расширением между ними, используя символическую ссылку. Я не думаю, что это очень хорошая идея, потому что многие расширения используют таблицы, и у каждого сайта обычно есть своя собственная база данных, поэтому вам придется много поработать, чтобы заставить это работать.

Вместо этого вы можете внести все изменения в файлы расширений в папке typo3conf / ext / extension_name, а затем экспортировать расширение в файл t3x (Ext Manager в Backend). Этот файл T3X может быть установлен как расширение (расширение импорта) на всех других ваших сайтах.

Если ваше расширение не использует базу данных и вы планируете вносить частые изменения, то, я думаю, вы сможете это сделать (символическая ссылка). В противном случае я рекомендую вам использовать первый подход, который я описал.

0 голосов
/ 29 октября 2010

Что касается «ожидаемого вывода»: имейте в виду, что код в этих папках кэшируется различными способами (в основном, содержимым страницы и настройками конфигурации) и, следовательно, не всегда выполняется. По этой причине изменение, сделанное извне текущей установки, скорее всего, не распространится на ваш вывод без очистки этих кэшей (как вы заметили).

Когда вы фактически устанавливаете расширение через менеджер расширений, кэш должен (если он правильно настроен) очищаться (заинтересованные стороны могут искать clearCacheOnLoad в class.em_index.php, чтобы выявить clear_cacheCmd ('all')). Для этого есть небольшой флажок, который обычно устанавливается в процессе установки.

Таким образом, первый подход Омара, на мой взгляд, - это более простой способ получить «ожидаемый результат» и меньшая путаница с глобальными расширениями.

...