Typo3 как добавить параметр target=_blank в базовый метатег

Я пытаюсь добавить параметр target="_blank" в тег ‹base> в заголовке, когда выполняются определенные параметры.

В настоящее время базовый тег заполнен URL-адресом, указанным в config.baseUrl:

<base href="http://yourdomain.com/">

Я просмотрел ссылку и попробовал разные настройки (мета, pages.headerData, ..), но мне не удалось манипулировать тегом ‹base> в заголовке.

чего я хочу добиться, так это:

<base href="http://yourdomain.com/" target="_blank">

на данный момент я полностью удалил baseUrl и установил ‹base> вручную:

page.headerData.1 = TEXT
page.headerData.1.value < config.baseURL
page.headerData.1.wrap = <base href="|" target="_blank">
config.baseURL > 

Тем не менее, у меня есть 2 проблемы с этим: Typo3 (в моем случае 4.5) добавляет ссылку CSS перед моим тегом, что приводит к сообщению о том, что файл не найден, когда я открываю любой дополнительный путь на веб-сайте. при открытии: http://yourdomain.com/path/subpath

<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="generator" content="TYPO3 4.5 CMS">
    <link rel="stylesheet" type="text/css" href="typo3temp/stylesheet_xxx.css?xxx" media="all">
    <base href="http://yourdomain.com/" target="_blank">
    <title>Some title</title>

хром говорит:

/path/subpath/stylesheet_xxx.css?xxx    GET 404

(где он должен найти файл в /stylesheet_xxx.css?xxx..)

другая проблема в том, что при выполнении HMENU с special=rootline

logo = HMENU
logo {
   special = rootline
   special.range = 0|0
}

ссылка на стартовую страницу всегда будет пустой после того, как я отключу config.baseUrl.

Любая помощь будет принята с благодарностью.

/edit: добавление второго тега ‹base> в заголовок будет работать, но валидатору не нравятся два базовых тега :(


person Andy P    schedule 13.11.2014    source источник


Ответы (2)


Может быть, эти константы помогут вам?

 # default target for links:
 PAGE_TARGET = _blank
 # target for links in sitemap:
 content.pageFrameObj = _blank

Отсюда: http://www.pi-phi.de/25.html

person brandelizer    schedule 13.11.2014
comment
Это работает только (для большинства) ссылок, сгенерированных typo3. Я также установил: config.extTarget = _blank config.intTarget = _blank кажется, что ссылки с явным набором class="internal-link" не изменяются этой настройкой, поэтому они все еще открываются в том же окне. - person Andy P; 14.11.2014

По первому вопросу (они связаны, я знаю):

Я бы не стал добавлять параметр конфигурации в page.headerData.1.value, а использовал бы константу:

mydomain = www.mydomain.com

тогда

config.baseURL > 
page.headerData.1 = TEXT
page.headerData.1.value < {$mydomain}
page.headerData.1.wrap = <base href="http://|" target="_blank">

По поводу маршрутизации: это действительно так? Согласно вашему коду, он должен искать в www.mydomain.com/typo3temp.

В документации говорится, что базовый URL должен иметь косая черта в конце. Но на всех своих сайтах я использую его без него, и он отлично работает. Попробуйте без косой черты в конце.

По второму вопросу

logo = HMENU
logo {
   special = rootline
   special.range = 0|0
}

Это только "домашняя" ссылка? Затем подумайте о том, чтобы добавить его с типолинком в pid домашней страницы или даже полностью вручную, так как он, скорее всего, никогда не изменится (href="\").

PS: базовый тег немного вышел из моды, но вы уже это знаете. Раньше я использовал его в основном из-за проблем с IE 8, а теперь я к нему привык. Кроме того, для TYPO3 рекомендуется использовать "absRefPrefix". Я просто отмечаю это здесь академически.

person Urs    schedule 14.11.2014
comment
да. вы правы, baseUrl, а также base-Tag заканчиваются на /. я обновлю это в вопросе выше. Я не понимаю эту часть о проблеме маршрутизации? Если базовый тег выполнен с помощью typo3, он располагается перед первым включением CSS. Если я помещаю базовый тег вручную, он вставляется после этого, и Chrome говорит, что не может найти файл по этому пути, поскольку это относительный путь от текущей позиции, а не корневой каталог. На втором ссылка не всегда ведет на корневую страницу — вместо этого она указывает на разные страницы внутри корневой линии — опять же при соблюдении параметров. - person Andy P; 14.11.2014
comment
Я изучаю absRefPrefix прямо сейчас. Я очень надеюсь, что не столкнусь с большими трудностями, используя это :) Если у кого-то есть еще идеи - я тоже буду рад их попробовать. - person Andy P; 14.11.2014