Перейти к содержимому


Фотография
- - - - -

При импорте не применяется свойство Add Protocol "Yes" в элементе Link

импорт

Лучший Ответ SmetDenis , 31 March 2015 - 07:22

Импорт сохраняет данные на сайте в формате "как есть", т.е обходит валидаторы элементов, коих огромное количество.

На мой взгляд тут два решения
- Во время импорта проверять наличие "http://"
- Либо в шаблоне перед выводом в шаблоне добавлять "http://"

Т.к вы уже импортировали контент то проще воспользоваться вторым методом.

В файле media\zoo\elements\link\tmpl\link.php
Вместо строки

echo '<a href="'.JRoute::_($this->get('value', '')).'" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</a>';
Использовать
$url = $this->get('value', '');
if (strpos($url, 'http:') !== 0) {
    $url = 'http://' . $url;
}
echo '<a href="' . $url . '" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</a>';
Перейти к сообщению


  • Закрытая тема Тема закрыта
В теме одно сообщение

#1 Antonio

Antonio

Отправлено 29 March 2015 - 00:57

Добрый день.

 

Нашел проблему. Не знаю, можно ли это считать багом...

 

Произвожу импорт csv по средствам JBZoo. В файле есть столбик "Сайт" для наших партнеров, я его указываю в формате partnersite.com (без http и без www). Импорт передает эту ячейку из файла как есть, не добавляя автоматом http:// согласно свойству Add Protocol элемента Link в редакторе элементов.

 

Т.е. если после импорта заглянуть в Итем, то будет в строке "Сайт" partnersite.com

 

В итоге получается во фронт-енде линк вида mysite.com/partnersite.com, что ведет на страницу 404, а не на сайт партнера)))


  • 0

#2 SmetDenis

SmetDenis

Отправлено 31 March 2015 - 07:22   Лучший Ответ

Импорт сохраняет данные на сайте в формате "как есть", т.е обходит валидаторы элементов, коих огромное количество.

На мой взгляд тут два решения
- Во время импорта проверять наличие "http://"
- Либо в шаблоне перед выводом в шаблоне добавлять "http://"

Т.к вы уже импортировали контент то проще воспользоваться вторым методом.

В файле media\zoo\elements\link\tmpl\link.php
Вместо строки
echo '<a href="'.JRoute::_($this->get('value', '')).'" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</a>';
Использовать
$url = $this->get('value', '');
if (strpos($url, 'http:') !== 0) {
    $url = 'http://' . $url;
}
echo '<a href="' . $url . '" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</a>';

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.






Темы с аналогичным тегами импорт

Click to return to top of page in style!