Лучший Ответ SmetDenis , 03 November 2015 - 08:02
Немного переделал весь класс. Попробуйте
Перейти к сообщению
Лучший Ответ SmetDenis , 03 November 2015 - 08:02
Немного переделал весь класс. Попробуйте
Перейти к сообщению
Отправлено 21 October 2015 - 14:16
Всем привет!
Занимаюсь каталогом программ и у меня есть тривиальная, на первый взгляд, проблема.
Элемент ссылка не импортируется/экспортируется и не умеет включать анкоры с фронта.
А именно анкоры для меня важны. Будь то название разработчика и ссылка на его сайт, или кнопка (особенно если несколько) скачивания с пояснением что будет скачано (например сама программа, обновление к ней, локализация).
Хочу спросить, может кто решал эту задачу или знает рецепт?
Особенная проблема в том, некоторые разработчики меняют ссылки на новые версии файлов. А я работаю пакетно: спарсил набор данных (например: версия и ссылка/ссылки) и все обновляю импортом. А элемент Ссылка не умеет получать анкоры с CSV.
Как сделать нормальные кнопки с ссылками и анкорами?
Отправлено 22 October 2015 - 00:14
Пробовали поизвощаться с элементом download?
Он ведь позволяет прикреплять только локальные файлы. А у меня должны быть только ссылки на удаленные файлы.
Отправлено 27 October 2015 - 13:47
/**
* @param $value
* @param null $position
* @return Item|void
*/
public function fromCSV($value, $position = null)
{
if (strpos($value, JBCSVItem::SEP_CELL) === false) {
$text = '';
$link = $value;
} else {
list($link, $text) = explode(JBCSVItem::SEP_CELL, $value);
}
$this->_element->bindData(array(
'text' => $this->_getString($text),
'value' => $this->_getString($link),
));
return $this->_item;
}
В импортируемом файле ссылка может выглядеть какhttp://site.com/ либо http://site.com/|||Текст ссылки
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Отправлено 29 October 2015 - 18:47
Работа со ссылкой происходит в этом классе
media\zoo\applications\jbuniversal\framework\elements\user\link.php
Попробуйте добавить функцию/** * @param $value * @param null $position * @return Item|void */ public function fromCSV($value, $position = null) { if (strpos($value, JBCSVItem::SEP_CELL) === false) { $text = ''; $link = $value; } else { list($link, $text) = explode(JBCSVItem::SEP_CELL, $value); } $this->_element->bindData(array( 'text' => $this->_getString($text), 'value' => $this->_getString($link), )); return $this->_item; }В импортируемом файле ссылка может выглядеть какhttp://site.com/ либо http://site.com/|||Текст ссылки
Добавил. При попытке экспорта (для того, сделать файл импорта) получаю ошибку:
Parse error: syntax error, unexpected 'public' (T_PUBLIC) in /*******************/public_html/media/zoo/applications/jbuniversal/framework/elements/user/link.php on line 40
И ошибка, когда добавил функцию в класс JBCSVItemUserLink
Parse error: syntax error, unexpected end of file, expecting function (T_FUNCTION) in /*************************/public_html/media/zoo/applications/jbuniversal/framework/elements/user/link.php on line 52
Сообщение отредактировал inte: 29 October 2015 - 18:54
Отправлено 30 October 2015 - 08:49
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Отправлено 30 October 2015 - 10:42
Добавил. При попытке экспорта (для того, сделать файл импорта) получаю ошибку:
Parse error: syntax error, unexpected 'public' (T_PUBLIC) in /*******************/public_html/media/zoo/applications/jbuniversal/framework/elements/user/link.php on line 40И ошибка, когда добавил функцию в класс JBCSVItemUserLink
Parse error: syntax error, unexpected end of file, expecting function (T_FUNCTION) in /*************************/public_html/media/zoo/applications/jbuniversal/framework/elements/user/link.php on line 52
Код, при котором возникала последняя ошибка:
<?php
/**
* JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
*
* @package jbzoo
* @version 2.x Pro
* @author JBZoo App http://jbzoo.com
* @copyright Copyright (C) JBZoo.com, All rights reserved.
* @license http://jbzoo.com/license-pro.php JBZoo Licence
* @coder Denis Smetannikov <denis@jbzoo.com>
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
/**
* Class JBCSVItemUserLink
*/
class JBCSVItemUserLink extends JBCSVItem
{
/**
* Export data to CSV cell
* @return string
*/
public function toCSV()
{
foreach ($this->_item->elements[$this->_identifier] as $key => $self) {
$this->_item->elements[$this->_identifier][$key] = isset($self['value']) ? array('value' => rtrim($self['value'], '/')) : null;
}
return parent::toCSV();
}
public function fromCSV($value, $position = null)
{
if (strpos($value, JBCSVItem::SEP_CELL) === false) {
$text = '';
$link = $value;
} else {
list($link, $text) = explode(JBCSVItem::SEP_CELL, $value);
}
$this->_element->bindData(array(
'text' => $this->_getString($text),
'value' => $this->_getString($link),
));
}
Ошибка:
Parse error: syntax error, unexpected end of file, expecting function (T_FUNCTION) in /*************/public_html/media/zoo/applications/jbuniversal/framework/elements/user/link.php on line 47
Сообщение отредактировал inte: 30 October 2015 - 10:44
Отправлено 02 November 2015 - 13:25
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Отправлено 02 November 2015 - 19:21
Да, действительно, пропущена... Спасибо большое!
Но после исправления ошибки, к сожалению не работает импорт ссылок вообще. Ни http://site.com/, ни http://site.com/|||Текст ссылки. Пустой элемент, даже если в нем что-то до этого хранилось.
Но было бы шикарно, если бы элемент можно было и экспортировать.
Отправлено 03 November 2015 - 08:02 Лучший Ответ
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.