вставил этот код
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 в новом окне?
теперь все ссылки в теле новости или комментария будет открывать в новом окне, тольк опосле внесения этого изменения надо пересохранить новость, чтобы парсер перепарсил :)))
в том же файле делаем замену
$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)));
}
в результате получим искомое стандартными средствами т.е. без дополнительных реплейсов
А в чем собственно дело-то? Все под 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;
}
11 комментариев
файл Text.class.php
найти строку:
public function Parser($sText) {
ниже добавить:
$sResult = str_replace("<a ","<a target=\"_blank\" ",$sResult);
вставил этот код
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 в новом окне?
вставьте после этой строки:
$sResult=$this->GeshiParser($sResult);
$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)));
}
в результате получим искомое стандартными средствами т.е. без дополнительных реплейсов
Правим файл: /engine/modules/text/Text.class.php
Кусок
меняем на
и в этом же файле в куске:
делаем:
Затем в новых постах все начинает работать.
В старых постах нажать «Редактировать» и сразу «Опубликовать». Там все заработает.