0 Пользователей и 1 Гость просматривают эту тему.
  • 28 Ответов
  • 3869 Просмотров
*

Sn@ke

  • Захожу иногда
  • 134
  • 4 / 0
Хочу модифицировать страницу печати..
Подскажите, пожалуйста, какой код следует дописать, дабы под определенной статьей формировалась системная ссылка на нее же - на этот текущий материал.
Спасибо!
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
Re: Формирование ссылки на статью
« Ответ #1 : 23.12.2009, 13:09:27 »
Поищите на JED соответствующий плагин, сам не встречал (не искал)

P.S. зачем, когда можно посмотреть в адресной строке?
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

Sn@ke

  • Захожу иногда
  • 134
  • 4 / 0
Re: Формирование ссылки на статью
« Ответ #2 : 24.12.2009, 03:02:04 »
Поищите на JED соответствующий плагин, сам не встречал (не искал)

P.S. зачем, когда можно посмотреть в адресной строке?
Ок!
Это потребовалось человеку для того, чтобы при распечатывании копии страницы на бумаге "красиво" отображалась ссылка на данный материал на сайте.
Удалось найти на форуме вывод следующего вида:<?php echo $this->article->urls; ?>
И все бы хорошо, довольно просто и главное, по моему мнению, - правильно! Но работать, почему то отказывается...
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
Re: Формирование ссылки на статью
« Ответ #3 : 24.12.2009, 03:04:20 »
Удалось найти на форуме вывод следующего вида:<?php echo $this->article->urls; ?>
И все бы хорошо, довольно просто и главное, по моему мнению, - правильно! Но работать, почему то отказывается...
должно работать на уровне шаблона com_content в режиме просмотра полного содержания статьи
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

era

  • Администратор
  • 1583
  • 389 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Формирование ссылки на статью
« Ответ #4 : 24.12.2009, 03:07:18 »
ммм, попробуйте редактор JCE установить, там помоему есть формирование нужных ссылок
*

Sn@ke

  • Захожу иногда
  • 134
  • 4 / 0
Re: Формирование ссылки на статью
« Ответ #5 : 24.12.2009, 22:27:50 »
Не хочет, собака и все - хоть ты ему тресни =)
Кому интересно, команды можно поковырять здесь
Некоторые из них вполне успешно работают... а здесь странно: ошибки не выдает - как будто необходим дополнительный SQL-запрос.
*

era

  • Администратор
  • 1583
  • 389 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Формирование ссылки на статью
« Ответ #6 : 24.12.2009, 22:33:54 »
а, я попутал - тебе надо получить ссылку в коде, что-бы вставить в шаблонизатор, что-бы поиметь ссылку на статью, так?
*

Sn@ke

  • Захожу иногда
  • 134
  • 4 / 0
Re: Формирование ссылки на статью
« Ответ #7 : 24.12.2009, 23:36:50 »
То
а, я попутал - тебе надо получить ссылку в коде, что-бы вставить в шаблонизатор, что-бы поиметь ссылку на статью, так?
Ага, то-то и оно!
То есть ссылка на данную страницу в печатной версии должна формироваться в независимости от того, хочет этого пользователь или нет. Однако, достаточным условием может явится и просто красивый вывод ее при печати (при этих словах действительно жалею, что Joomla! Ukraine Print Engine - лишь для единички - он именно для этого и предназначен).
Максимум, к чему успел приблизиться на сей момент - это то, что алгоритм очень схож с работой readmore, однако полноценно модифицировать код упомянутого мне пока не удается...
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
Re: Формирование ссылки на статью
« Ответ #8 : 24.12.2009, 23:43:57 »
Еще как вариант, если не хочется разбираться с встренными возможностями, можно использовать массив $_SERVER
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

era

  • Администратор
  • 1583
  • 389 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Формирование ссылки на статью
« Ответ #9 : 24.12.2009, 23:46:04 »
попробуй такой вариант:

Код
			$db			=& JFactory::getDBO();
$nullDate = $db->getNullDate();
$date =& JFactory::getDate();
$now = $date->toMySQL();

$link = '';
$query = 'SELECT a.*, ' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE ' .
' a.id = '. intval(JRequest::getCmd('id')).
' AND a.state = 1' .
' AND ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )' .
' AND ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )' .
' AND s.id > 0' .
' AND s.published = 1' .
' AND cc.published = 1' .
' LIMIT 0, 1';
$db->setQuery($query);
$rows = $db->loadObjectList();
if (count($rows)) {
foreach ( $rows as $row ) {
$link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));
}
}
if ($link) echo $link; // выводим ссылку
*

Sn@ke

  • Захожу иногда
  • 134
  • 4 / 0
Re: Формирование ссылки на статью
« Ответ #10 : 25.12.2009, 00:22:53 »
era, ты гений!
только еще пряник в том, что выводит без корня.. то есть игнорируя домен (вместо http://mysite.ru/ru/stati/mynexttesting записывает лишь как /ru/stati/mynexttesting) не подскажешь, почему?
Спасибо!
« Последнее редактирование: 25.12.2009, 00:28:44 от Sn@ke »
*

era

  • Администратор
  • 1583
  • 389 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Формирование ссылки на статью
« Ответ #11 : 25.12.2009, 00:32:07 »
можно попробовать вставить в:
\components\com_content\views\article\tmpl\default.php
 в конец, но нам надо будет ещё проверку включить что это страница для печати
*

era

  • Администратор
  • 1583
  • 389 / 5
  • В туалете лучше быть пользователем, чем админом.
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
Re: Формирование ссылки на статью
« Ответ #13 : 25.12.2009, 00:41:31 »
Саш, зачем через getConfig когда достаточно только лишь JURI::base() для получения адреса сайта
Код: php
echo JURI::base();
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

era

  • Администратор
  • 1583
  • 389 / 5
  • В туалете лучше быть пользователем, чем админом.
*

Sn@ke

  • Захожу иногда
  • 134
  • 4 / 0
Re: Формирование ссылки на статью
« Ответ #15 : 25.12.2009, 00:54:51 »
можно попробовать вставить в:
\components\com_content\views\article\tmpl\default.php
 в конец, но нам надо будет ещё проверку включить что это страница для печати
Кстати, условия на проверку не понадобились - тоже работает)

добавь:
Код
			$config =& JFactory::getConfig();
echo $config->getValue('config.live_site');
Просто нет слов, хотя нет, есть: супер!

зачем через getConfig когда достаточно только лишь JURI::base() для получения адреса сайта
Код: php
echo JURI::base();
Тоже работает! Хотя есть один недостаток: при выводе адреса сайта в конце к нему дописывается еще один слеш, что нарушает корректную структуру ссылки, т.к. один слеш уже присутствует перед началом адреса.
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
Re: Формирование ссылки на статью
« Ответ #16 : 25.12.2009, 01:04:57 »
JURI::base отдает адрес в виде http://domen/, так что просто в ссылке убираете свой слеш и все в порядке
Код: php
echo JURI::base().'index.php&more';
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

era

  • Администратор
  • 1583
  • 389 / 5
  • В туалете лучше быть пользователем, чем админом.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Re: Формирование ссылки на статью
« Ответ #18 : 25.12.2009, 01:20:08 »
можно и JURI::root()
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
Re: Формирование ссылки на статью
« Ответ #19 : 25.12.2009, 01:26:46 »
можно и JURI::root()
Можно и так, суть различий в том что JURI::base() возвращает на фронте http://domen/ а в админке http://domen/administrator, а root только http://domen/ как в фронтенде так и бекенде
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Re: Формирование ссылки на статью
« Ответ #20 : 25.12.2009, 01:39:42 »
Можно и так, суть различий в том что JURI::base() возвращает на фронте http://domen/ а в админке http://domen/administrator, а root только http://domen/ как в фронтенде так и бекенде
да то понятно то :)
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
Re: Формирование ссылки на статью
« Ответ #21 : 25.12.2009, 01:42:00 »
да то понятно то :)
так я не для нас, для ТС писал в общем то :)
Пусть понимает разницу и выбирает понравившийся вариант
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

Sn@ke

  • Захожу иногда
  • 134
  • 4 / 0
Re: Формирование ссылки на статью
« Ответ #22 : 25.12.2009, 02:32:03 »
beliyadm, SmokerMan и особенно era: спасибо вам большое за такой организованный подход и реальную объемную и целостную помощь в разрешении поставленного вопроса!
*

Sn@ke

  • Захожу иногда
  • 134
  • 4 / 0
Re: Формирование ссылки на статью
« Ответ #23 : 26.12.2009, 20:26:23 »
Ребят, еще вопрос на засыпку если можно...
Для вывода полной ссылки использовал
Код
echo JURI::current(). "\n";
и убрал вывод ссылки - строку
Код
if ($link) echo $link;
в кодинге от era
Таким образом, удалось добиться желаемого отображения формируемой ссылки.
Заметил, что ни один из вас не упомянул такого способа. В связи с этим напрашивается вопрос: это приемлемо? :)
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: Формирование ссылки на статью
« Ответ #24 : 26.12.2009, 20:56:16 »
А все забыли. Можно через component.php в корне шаблона и
Код: php
<?php echo $this->base;?>
В общем кто как решает. Тем более вот так, экспромтом.

P.S. На главной не работает, при отключенном SEF тоже.  :(
« Последнее редактирование: 26.12.2009, 22:02:53 от Lex »
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

era

  • Администратор
  • 1583
  • 389 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Формирование ссылки на статью
« Ответ #25 : 27.12.2009, 11:24:42 »
Для вывода полной ссылки использовал
Код
echo JURI::current(). "\n";
а если открыта страница печати, то разве она ссылку не на страницу печати даст?
*

Sn@ke

  • Захожу иногда
  • 134
  • 4 / 0
Re: Формирование ссылки на статью
« Ответ #26 : 26.02.2011, 01:06:18 »
При обновлении компонента PhocaGallery от Jan Pavelka до версии 2.7.6 возникла ошибочка - вывод изображений через HighSlide перестал корректно отображаться (белый лист в отображении). Что самое примечательное при отключении sh404SEF все становилось на свои места...
Полез в лог ошибок, где сервер оказывается начал ругаться на меня фразами
Код
PHP Fatal error:  Class 'ContentHelperRoute' not found in ... templates/system/component.php on line 56
В данном файле конфликт возник с классом, добавленным вместе с прекрасно работавшим ранее кодом (при обновлении Joomla до 1.5.22 файл не менялся специально). Т.е. при исключении его из кода все начало работать корректно.
Сейчас обратил внимание, что файл component.php был немного изменен.
Однако я был приятно удивлен, когда после внедрения стандартной строки кода
Код
<?php echo $this->base;?>
в новый код упомянутого файла я отныне смог добиться корректного вывода аналогичного содержимого (адреса ссылки) в таком же виде.
« Последнее редактирование: 26.02.2011, 01:13:12 от Sn@ke »
*

altvvc

  • Давно я тут
  • 519
  • 22 / 0
Re: Формирование ссылки на статью
« Ответ #27 : 04.09.2013, 12:28:32 »
Код
$link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));

Это если статья в категории... А Если Статья без категории? когда раздел и категорию не указываем.
Красота спасет мир, а пофигизм спасет нервы.
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
Re: Формирование ссылки на статью
« Ответ #28 : 06.09.2013, 01:06:06 »
Код
$link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));

Это если статья в категории... А Если Статья без категории? когда раздел и категорию не указываем.
у статьи всегда есть категория, только это будет дефолтовая root с соответствующим ID
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрал в настройках материалов "Заголовок как ссылка" - "нет". И в разделе ссылки с заголовков исчезл

Автор Adrian1111

Ответов: 6
Просмотров: 1290
Последний ответ 22.03.2018, 22:17:44
от palexa
Как добавить статью в созданный новый раздел (меню)

Автор Lzrv

Ответов: 1
Просмотров: 353
Последний ответ 16.11.2017, 09:00:15
от Lzrv
Не отображаются материалы и ссылки на сайте (joomla 1.5)

Автор МарияЛ

Ответов: 1
Просмотров: 561
Последний ответ 18.03.2017, 19:22:31
от rebus
Изменить текст ссылки, выводимой в адресной строке

Автор acamaz

Ответов: 2
Просмотров: 744
Последний ответ 28.11.2016, 20:59:45
от KKAAZZOO
где хранятся SEO ссылки товара

Автор knatalik

Ответов: 0
Просмотров: 597
Последний ответ 14.09.2016, 11:58:10
от knatalik