Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   HTMLArea, RTE, tinymce_rte и другие визуальные редакторы (http://forum.typo3.ru/forumdisplay.php?f=24)
-   -   Замена стандартных title на ссылках (http://forum.typo3.ru/showthread.php?t=10898)

alexk 27.08.2013 15:12

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

Код HTML:

<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

Если еще актуально, то нашел тут решение, статья на немецком.

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

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 код:

<?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, а содержимое ссылки:
Код HTML:

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

Андрей Аксенов 29.08.2013 19:04

Тогда да... неверно понял, что хотелось... Вообще это нужная вещь.


Часовой пояс GMT +4, время: 22:46.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot