Ссылка в новом окне

не работает targent="_blank" подскажите почему?

может как то это придусмотреть при нажатии на кнопочку

11 комментариев

avatar

файл Text.class.php
найти строку:
public function Parser($sText) {
ниже добавить:
$sResult = str_replace("<a ","<a target=\"_blank\" ",$sResult);
avatar

вставил этот код
public function Parser($sText) {
        $sResult = str_replace("<a ","<a target=\"_blank\" ",$sResult);
        $sResult=$this->JevixParser($sText);    
        $sResult=$this->VideoParser($sResult);        
        $sResult=$this->GeshiParser($sResult);
        return $sResult;
       
    }
не работатет
что именно должно было произойти?
что он именно дожен делать добавлять возможность (в окне «добавить ссылку») для выбора blank или открывать сущевствующие ссылки с blank в новом окне?
avatar
теперь все ссылки в теле новости или комментария будет открывать в новом окне, тольк опосле внесения этого изменения надо пересохранить новость, чтобы парсер перепарсил :)))
avatar

вставьте после этой строки:
$sResult=$this->GeshiParser($sResult);
avatar
спасибо
avatar
здесь лучше добавить это ПОСЛЕ обработки текста джавексом, а в его настройках запретить(если разрешен) атрибут target
avatar
по вашему методу все заработало, спасибо
avatar
в том же файле делаем замену
$this->oJevix->cfgAllowTagParams('a', array('title', 'href', 'rel'));
на
$this->oJevix->cfgAllowTagParams('a', array('title', 'href', 'rel', 'target'));

и, например (если включена сеошная плюшка для внешних ссылок)
if (BLOG_URL_NO_INDEX) { $this->oJevix->cfgSetTagParamsAutoAdd('a',array(array('name'=>'rel','value'=>'nofollow','rewrite'=>true)));
}
на
if (BLOG_URL_NO_INDEX) {
$this->oJevix->cfgSetTagParamsAutoAdd('a',array(
array('name'=>'rel','value'=>'nofollow','rewrite'=>true),
array('name'=>'target','value'=>'_blank','rewrite'=>true)));
}

в результате получим искомое стандартными средствами т.е. без дополнительных реплейсов
avatar
что то ветка закончилась. хотелось узнать — есть люди кто проверил это на своем сайте?
avatar
Как это сделать под 0.4.2?
avatar
А в чем собственно дело-то? Все под 0.4.2 работает, ссылка в новом окне, а cut работает как положено.
Правим файл: /engine/modules/text/Text.class.php
Кусок

public function Parser($sText) {
		$sResult=$this->FlashParamParser($sText);
		$sResult=$this->JevixParser($sResult);	
		$sResult=$this->VideoParser($sResult);	
		$sResult=$this->CodeSourceParser($sResult);
		return $sResult;
	}

меняем на

public function Parser($sText) {
		$sResult=$this->FlashParamParser($sText);
		$sResult=$this->JevixParser($sResult);	
		$sResult=$this->VideoParser($sResult);	
		$sResult=$this->CodeSourceParser($sResult);
		$sResult = str_replace("<a ","<a target=\"_blank\" ",$sResult);
		return $sResult;
	}

и в этом же файле в куске:

$this->oJevix->cfgAllowTagParams('a', array('title', 'href', 'rel'));

делаем:

$this->oJevix->cfgAllowTagParams('a', array('title', 'href', 'rel', 'target'));

Затем в новых постах все начинает работать.
В старых постах нажать «Редактировать» и сразу «Опубликовать». Там все заработает.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.