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

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
Нижеприведенный код выводит последние посещенные страницы пользователем
Используем сессию
Спойлер
[свернуть]
Используем cookie
Спойлер
[свернуть]
Частный случай. Две первые и две последние ссылки
Спойлер
[свернуть]
*

mark1

  • Захожу иногда
  • 393
  • 39 / 2
благодарю, проверил навскидку - всё работает!
*

blondinka_x

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Нижеприведенный код выводит последние посещенные страницы пользователем
Код: php-brief
<?php
$session =& JFactory::getSession();
$mylink = $session->get("mylink", array());
if (count($mylink)>0){
echo '<ul id="lastlink">';
foreach ($mylink as $link){
echo '<li><a href="'.$link['url'].'" title="'.$link['title'].'">'.$link['title'].'</a></li>';
}
echo '</ul>';
}
$newlink['title'] = JFactory::getDocument()->getTitle();
$newlink['url'] = JFactory::getURI()->toString();
if (!in_array($newlink, $mylink)){
/* 5 - это колличество отображаемых последних ссылок */
if (count($mylink)==5) array_shift($mylink);
$mylink[] = $newlink;
$session->set("mylink",  $mylink);
}
?>
куда код прописывать?
*

mark1

  • Захожу иногда
  • 393
  • 39 / 2
куда код прописывать?
В модуль Custom HTML, например. При условии вставки его через плагин Sourcerer, или подобные.
*

blondinka_x

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Спасибо большое...но пробовала сделать чтобы эта навигация была  в строку (а не в столбик)...УДАЛИЛА ul, li...стало в строку, НО без пробелов..пытаюсь добавить пробелы-не отображается...как до идеала довести?
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
blondinka_x вставьте в файл стилей CSS вашего сайта
Код: css
#lastlink li{
float:left;
margin-left:15px;
}
*

mark1

  • Захожу иногда
  • 393
  • 39 / 2
я , кстати поспешил с ответом.. Есть проблемка: у меня вывод получается вида
Код
<div>Link1Link2Link3</div>
Т.е. всё в одном диве, никаких списков с пунктами и классами и тайтлами..Всего этого нет.
Использую Joomla 2.5.7, код вставил через Sourcerer. Я где-то неправ?
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
Я не использую Sourcerer. Приведенный выше код работает там где обрабатывается php(в шаблонах сайта и вывода, модулях и плагинах...)
Добавил решение с использованием cookie(кук, печенья)
*

mark1

  • Захожу иногда
  • 393
  • 39 / 2
я , кстати поспешил с ответом.. Есть проблемка: у меня вывод получается вида
Код
<div>Link1Link2Link3</div>
Т.е. всё в одном диве, никаких списков с пунктами и классами и тайтлами..Всего этого нет.
Использую Joomla 2.5.7, код вставил через Sourcerer. Я где-то неправ?
Гм, был неправ, извиняюсь. А я же видел в коде список UL, и удивлялся.. Оказывается , Sourcerer вырезает форматирование по умолчанию.
А вот такой вариант с ключом 0 (оставляет форматирование) даёт отличный результат.
Код
{source 0}
<?php
код
?>
{/source}
*

akagloomy

  • Новичок
  • 3
  • 0 / 0
Всем доброго дня! Отличные решения! :D

Подскажите, а возможно ли вместо вывода title для браузера JFactory::getDocument()->getTitle(); вывести настоящий заголовок страницы, который в теги h1 заключается?
Спрашиваю в связи с тем, что используется автоматическая приписка названия сайта к каждому title, а еще есть заголовки для продвижения. В итоге список посещенных страниц выглядит некорректно.
Кому нужно видеть вместо заголовка "Проекторы", к примеру "Мультимедиа-проекторы, Аксессуары для проекторов, Продажа проекторов по доступным ценам" и т.п. 8) 
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
Все возможно. Зависит только от вашей фантазии. От того где будете использовать код. В модуле, компоненте, плагине или шаблоне. Если вы изменяете заголовок, кто вам мешает сначала выполнить свой код а затем модифицировать заголовок
*

akagloomy

  • Новичок
  • 3
  • 0 / 0
А Вы можете подсказать конструкцию вызова типа JFactory::getDocument()->getTitle();
Рыл инет, пока не нашел ничего подходящего.
Если посмотреть, к примеру, как вызывает заголовок Блог категории - <?php echo $this->escape($this->item->title); ?>, то конструкция подобного типа не сработает.
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
akagloomy задавайте вопрос более понятливее. Еще раз где и куда вы вставляете код. Кто вам мешает в переопределенном  макете блога категории вставить код
*

akagloomy

  • Новичок
  • 3
  • 0 / 0
Макет блога категории привел ради примера вызова заголовка.

У меня появилась такая задача. В сайдбаре нужен блок последних просмотренных страниц. Но отображаться он должен не везде, а только в определенных разделах.
Установил Sourcerer, создал HTML модуль, вывел его в сайдбар (использовал ваш второй пример для куки) и все без проблем заработало.
Но, как я писал ранее, заголовки выводились не совсем те, что нужны. Много лишнего из-за оптимизации сайта под поисковики.

Вот теперь интересуюсь, каким кодом можно вызвать заголовки, которые заключаются в теги h1!)
*

mark1

  • Захожу иногда
  • 393
  • 39 / 2
Федор, если по-русски: человек спрашивает, как получить список из N последних заголовков страниц, а не N последних заголовков меню. Ваш код дает второе: список заголовков меню. А человек задал в Page Display Options новые тайтлы для пунктов меню (SEO-тягомотина, чтоб её!), но хочет получать тайтлы статей, а не меню.
 Почитав ссылку http://blog.calebnance.com/joomla-2.5/how-to-get-a-joomla-2.5-article-title-in-template.html, осмелюсь посоветовать такое (у себя проверил, сработало при вставке в шаблоны вывода. Через модуль Custom HTML не пробовал):

Код: php-brief
<?php
$session = JFactory::getSession();
$mylink = $session->get("mylink", array());
if (count($mylink)>0){
echo '<ul id="lastlink">';
foreach ($mylink as $link){
echo '<li><a href="'.$link['url'].'" title="'.$link['title'].'">'.$link['title'].'</a></li>';
}
echo '</ul>';
}
    // Get option and view
    $option = JRequest::getVar('option');
    $view = JRequest::getVar('view');
    // Make sure it is a single article
    if ($option == 'com_content' && $view == 'article'):
    $id = JRequest::getInt('id');
    $article =& JTable::getInstance('content');
    $article->load($id);
    $article_title = $article->get('title');
    endif;


$newlink['title'] = $article_title;
$newlink['url'] = JFactory::getURI()->toString();
if (!in_array($newlink, $mylink)){
/* 5 - это колличество отображаемых последних ссылок */
if (count($mylink)==5) array_shift($mylink);
$mylink[] = $newlink;
$session->set("mylink",  $mylink);
}
?>
« Последнее редактирование: 29.07.2013, 16:56:05 от mark1 »
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
опять же зачем делать лишние запросы. таким образом. или вы думаете вы Америку открыли
Вывод контента com_content материалов и категорий по id. Решение
Т.С. еще раз вы должны записывать данные в сессию, куки до обработки вашими SEO надстройками. Тогда не будет лишних запросов на примере приведенного выше
*

mark1

  • Захожу иногда
  • 393
  • 39 / 2
опять же зачем делать лишние запросы. таким образом. или вы думаете вы Америку открыли
Федор, не хотел ничем обидеть, и не планировал открыть Америку. Я на том уровне знаний, когда удалось, работает - уже хорошо. Я, например, не понимаю пока, как с вашей ссылкой откорректировать мой вариант, чтоб избавиться от лишних запросов. Не хватает знаний для разбора фразы : "записывать данные в сессию, куки до обработки вашими SEO надстройками". Видимо, в массив $_SESSION...
« Последнее редактирование: 29.07.2013, 18:50:00 от mark1 »
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
опять вы не поняли меня. Есть плагин компонент или еще, что-то. Который из $title='a'; делает $title .='b'; //получаем ab
Так вот я предлагаю вставлять так
Код: php-brief
$title='a';
/*
код записывающий оригинальный title в сессию
далее код обрабатывает title
*/
$title .='b';
таким образом, не будет лишних запросов
*

pH43

  • Захожу иногда
  • 335
  • 8 / 1
Нижеприведенный код выводит последние посещенные страницы пользователем
Используем сессию
Спойлер
[свернуть]
Используем cookie
Спойлер
[свернуть]
Частный случай. Две первые и две последние ссылки
Спойлер
[свернуть]


А можно как-то ограничить вывод этих последних посещенных страниц, чтобы они были только из конкретной категории, например, с id=35 ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка при сохранении страницы

Автор gaa001

Ответов: 3
Просмотров: 444
Последний ответ 05.11.2019, 14:14:37
от gaa001
Код вывести название страницы

Автор qvaro

Ответов: 1
Просмотров: 573
Последний ответ 24.11.2018, 18:33:07
от beliyadm
Смещаются элементы страницы при добавлении нового материала

Автор zare4nev_alexander

Ответов: 10
Просмотров: 591
Последний ответ 01.06.2018, 06:58:16
от draff
Периодически пропадает модуль "HTML-код" с главной страницы (Joomla! 2.5.24)

Автор fave

Ответов: 1
Просмотров: 1130
Последний ответ 19.02.2018, 17:32:31
от arma
Непонятные страницы

Автор w00p

Ответов: 19
Просмотров: 1267
Последний ответ 06.02.2018, 16:49:49
от SeBun