PDA

Просмотр полной версии : Замена стандартных title на ссылках


alexk
27.08.2013, 15:12
Добрый день коллеги, возник такой вопрос. При формировании ссылки через RTE по умолчанию выставляются заголовки типа: Внутренняя ссылка, внешняя сслыка... как можно заменить эти тайтлы на содержимое самой ссылки автоматичеки?
Пример


<a href="#link" title="Внутренняя ссылка откроется в том же окне" class="internal-link">Текст ссылки</a>

<a href="#link" title="Текст ссылки" class="internal-link">Текст ссылки</a>

-=UncleByte=-
27.08.2013, 16:42
Об этом, скорее всего, написано в мануале к редактору. Лежать он должен в папке /typo3/sysext/rtehtmlarea/doc/

Андрей Аксенов
28.08.2013, 13:23
Можно найти этот перевод и заменить его на свой...

alexk
29.08.2013, 18:12
Если еще актуально, то нашел тут (www.typo3lexikon.de/index.php?id=142) решение, статья на немецком.

Вкратце, делаем следующее:
1. в TSconfig вставляем следующий код:

RTE.default.proc.entryHTMLparser_db = 1
RTE.default.proc.entryHTMLparser_db {
tags {
a.fixAttrib.href.userFunc = fileadmin/templates/class.user_settitle.php:user_settitle->geturl
a.fixAttrib.href.always = 1
a.fixAttrib.title.userFunc = fileadmin/templates/class.user_settitle.php:user_settitle->settitle
a.fixAttrib.title.always = 1
}
}


Далее создаем php файл со следующим кодом:


<?php
class user_settitle {
function settitle($content, $conf) {
$urlArr = t3lib_div::explodeUrl2Array(parse_url($GLOBALS['TSFE']->register['userfunc_rte_url'], PHP_URL_QUERY));
if(t3lib_div::testInt($urlArr['id'])) {
$res = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
'title',
'pages',
'uid='.$urlArr['id'],
'','','',''
);
return $res[0]['title'];
} else {
return $content;
}
}
function geturl($content, $conf) {
$GLOBALS['TSFE']->register['userfunc_rte_url'] = $content;
return $content;
}
}
?>


Кладем его куда вам нравится, незабываем прописывать пути в TSconfig'е.
На выходе получаем замену title на название страницы (на которую ссылаемся).

Андрей Аксенов
29.08.2013, 18:17
Зачем же так? Я же написал, можно в обычных файлах локализации переписать, или через TS ту же локализацию... проще же...

alexk
29.08.2013, 18:28
Загадочно так пишешь)) Ты можешь пример дать? или по пунктам описать что и где менять... :D

-=UncleByte=-
29.08.2013, 18:42
Я так понимаю что прочитать доку всем лень?
Вот же черным по белому в ней приведена конфигурация:
## Anchor classes configuration for use by the anchor accessibility feature
RTE.classesAnchor {
externalLink {
class = external-link
type = url
image = EXT:rtehtmlarea/res/accessibilityicons/img/external_link.gif
altText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:external_link_altText
EXT: htmlArea RTE - 56
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:external_link_titleText
}
externalLinkInNewWindow {
class = external-link-new-window
type = url
image = EXT:rtehtmlarea/res/accessibilityicons/img/external_link_new_window.gif
altText =
LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:external_link_new_window_altText
titleText =
LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:external_link_new_window_titleText
}
internalLink {
class = internal-link
type = page
image = EXT:rtehtmlarea/res/accessibilityicons/img/internal_link.gif
altText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:internal_link_altText
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:internal_link_titleText
}
internalLinkInNewWindow {
class = internal-link-new-window
type = page
image = EXT:rtehtmlarea/res/accessibilityicons/img/internal_link_new_window.gif
altText =
LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:internal_link_new_window_altText
titleText =
LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:internal_link_new_window_titleText
}
download {
class = download
type = file
image = EXT:rtehtmlarea/res/accessibilityicons/img/download.gif
altText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:download_altText
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:download_titleText
}
mail {
class = mail
type = mail
image = EXT:rtehtmlarea/res/accessibilityicons/img/mail.gif
altText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:mail_altText
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:mail_titleText
}
}

Найти в документации - пять минут. Сменить - так же. Что тут три дня обсуждать?!

alexk
29.08.2013, 18:58
Это можно увидеть в Demo конфигурации RTE, через typo3 нельзя сделать автоматическое формировании title ссылки через конфигурацию RTE. В приведенном примере типовая вставка title из locallang, я понял что вы имеете ввиду. Но задача немного другая, а именно подставлять в title не дефолтную вставку из locallang, а содержимое ссылки:

<a href="#link" title="Текст ссылки" class="internal-link">Текст ссылки</a>

Андрей Аксенов
29.08.2013, 19:04
Тогда да... неверно понял, что хотелось... Вообще это нужная вещь.