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

palant

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Здравствуйте!
Не сразу заметил, что материалы ведут двойную жизнь. Посмотрел поиск, но не нашел ответа на свой вопрос.
А именно, как сделать так же, как и на главной странице сайта joomlaportal.ru, когда по клику на статью остаешься не на главной, а попадаешь в соответствующий раздел новостей. Например:
joomlaportal.ru
Тема Joomla 1.5 Stable имеет адрес http://joomlaportal.ru/content/view/1431/70/ и при переходе по нему мы попадаем сюда «Главная arrow Новости arrow Joomla 1.5 Stable» (это показывает pathway).

У меня на сайте же новость на главной имеет приблизительно такую ссылку http://***/content/view/83/1/ и при переходе по ней, мы остаемся на главной, а в разделе новостей она уже имеет такую ссылку http:/***/content/view/83/43/ и желаемый pathway вида «Главная arrow Новости arrow Посление новости arrow Имя материала».

Так вот, как можно избавится от данной ситуации и сделать так же, как и на Joomlaportale, не подскажете?
Я пробовал использовать блог вместо компонента frontpage, однако результаты были те же, при переходе по линку, пользователь не попадал в раздел новостей, а оставался в блоге.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Разное поведение ссылок обусловлено разным алгоритмом определения значения параметра Itemid, отвечающего за активный пункт меню. В версиях Joomla младше 1.0.12 этот параметр определялся для каждой статьи отдельно, в версии 1.0.12 появился новый алгоритм, согласно которому все ссылки на странице получают такой же Itemid как у текущей страницы. И это в принципе логично. Ведь при переходе с главной страницы на материал, активный пункт меню не поменялся - вы пришли с главной. А вот если бы вы пришли на этот материал с раздела Новости, то вполне логично было бы, если бы Itemid был того раздела.

В версии 1.0.13 в глобальных настройках сайта появилась возможность выбирать, какой из способов работы с Itemid использовать: новый или тот который был до версии 1.0.12.

Для того, чтобы ссылки вели как вы описываете, нужно включить режим совместимости с 1.0.11 и ниже. Либо перейти на версию 1.0.11...
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
мне как-то давали совет такой. У меня сработало.
Если я правильно понял,  скорее всего тебе нужно установить хак для работы джумлы в старом режиме (старый стиль работы Itemid).

в файле /components/com_content/content.html.php надо этот код

Код:

$_Itemid = $Itemid;

заменить на

Код:

$_Itemid = $mainframe->getItemid( $rows[$i]->id, 0, 0  );


а этот

Код:

$row->_Itemid = $Itemid;


на этот

Код:

if ( $task != 'view' && $task != 'category' ) {
     $row->_Itemid = $mainframe->getItemid( $row->id, 0, 0 );
} else {
     // when viewing a content item, it is not necessary to calculate the Itemid
     $row->_Itemid = $Itemid;
}


После этого если кликнешь по ссылке подробнее в модуле, то материал откроется в том разделе, из которого эта новость.
*

palant

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Разное поведение ссылок обусловлено разным алгоритмом определения значения параметра Itemid, отвечающего за активный пункт меню. В версиях Joomla младше 1.0.12 этот параметр определялся для каждой статьи отдельно, в версии 1.0.12 появился новый алгоритм, согласно которому все ссылки на странице получают такой же Itemid как у текущей страницы. И это в принципе логично. Ведь при переходе с главной страницы на материал, активный пункт меню не поменялся - вы пришли с главной. А вот если бы вы пришли на этот материал с раздела Новости, то вполне логично было бы, если бы Itemid был того раздела.

В версии 1.0.13 в глобальных настройках сайта появилась возможность выбирать, какой из способов работы с Itemid использовать: новый или тот который был до версии 1.0.12.

Для того, чтобы ссылки вели как вы описываете, нужно включить режим совместимости с 1.0.11 и ниже. Либо перейти на версию 1.0.11...
Отлично!
Большое спасибо за лаконичный ответ!
FxPunter, вроде бы все работает без хака.
P.S.: лично мне кажется, что новый алгоритм ведет только к путанице %)
« Последнее редактирование: 24.01.2008, 15:40:16 от palant »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
P.S.: лично мне кажется, что новый алгоритм ведет только к путанице %)
логика есть и в том, и в другом... но новый чуть более корректен... пункт меню от перехода по ссылке не изменяется... меняется раздел, категория, страница - что угодно, но активный пункт меню остается прежним... и навигация показывает, откуда вы попали на эту страницу... а не где эта страница находится в иерархии сайта... это правильнее...

Я также перерыл много-много инета в поисках ответа по дублированию URL (ссылок).. и такого ответа как дал "smart" я долго ждал.. даже забросил делать сайт-справочника из-за этой делемы.. сделал логичную структуру: раздел/категория/статья: , но его в готовом виде нет... ДА, логика есть и совершенно корректно отображать те модули раздела, из которого перешёл пользователь.. НО!
1.  ЕСТЬ один МИНУС : есть сайт, есть категория к которой привязаны статьи... ссылки проиндексированы Яндексом.. админ решает сменить представление этих страниц на сайте: БЫЛО: материалы категории -списком.. СТАЛО: материалы категории -блог или , например СТАЛО: часть материалов(статей) стали пунктами меню.. вообщем сменился вид представления статей и ссылки сменились(страница сменилась)-вот проблема и это не правильно, ибо посетитель пришёл за контентом, а не "за модулями, окружающими текст".. как результат - лишние ссылки для одного и того же текста (плохо для поисковиков)
2.  Для поисковиков это плохо(могут расценить как спам), а для посетителей- ... им всё равно, они читают..
3.  БОЛЬШОЙ ПЛЮС дублированных страниц - так это то, что если сайт ориентирован на заработок (в сапе, ксапе), то прибыль идёт от размещения платных ссылок на страницах сайта , а чем больше ссылок, тем больше рекламы будет.. главное наделать побольше вхождений на один и тот же материал..
//p.s. дописыавя этот пост хотел прикрепить скриншоты из админки, но зайдя в раздел меню и при нажатии на mainmenu происходит вылет на авторизацию..все др. меню работают, делал бэкап базы и переустановку джумлы 1.13 :((

Разное поведение ссылок обусловлено разным алгоритмом определения значения параметра Itemid, отвечающего за активный пункт меню. В версиях Joomla младше 1.0.12 этот параметр определялся для каждой статьи отдельно, в версии 1.0.12 появился новый алгоритм, согласно которому все ссылки на странице получают такой же Itemid как у текущей страницы. И это в принципе логично. Ведь при переходе с главной страницы на материал, активный пункт меню не поменялся - вы пришли с главной. А вот если бы вы пришли на этот материал с раздела Новости, то вполне логично было бы, если бы Itemid был того раздела.

В версии 1.0.13 в глобальных настройках сайта появилась возможность выбирать, какой из способов работы с Itemid использовать: новый или тот который был до версии 1.0.12.

Для того, чтобы ссылки вели как вы описываете, нужно включить режим совместимости с 1.0.11 и ниже. Либо перейти на версию 1.0.11...

у меня 1,13 /включен режим работы itemid как у 1,11 и ниже... а вот ссылки- всё теже..
_http://max-info.ru/content/view/22/34/
_http://max-info.ru/content/view/26/42/
_http://max-info.ru/content/view/26/34/
я конечно перемудрил с меню, но обратите внимание, что структура каждой страницы одинакова.. "/content/view"

логика есть и в том, и в другом... но новый чуть более корректен... пункт меню от перехода по ссылке не изменяется... меняется раздел, категория, страница - что угодно, но активный пункт меню остается прежним... и навигация показывает, откуда вы попали на эту страницу... а не где эта страница находится в иерархии сайта... это правильнее...

Обратил ещё внимание, что в 1,5 та же ерунда.. так, в демо инсталляции видно вот что: _http://bestrest.info/more-about-joomla/29-the-cms/24-content-layouts.html
_http://bestrest.info/content-layouts/29-the-cms/24-content-layouts.html
-В данном случае работа itemid совсем не корректна я считаю.. лишняя ссылка на "одно и тоже"

мне как-то давали совет такой. У меня сработало.
Если я правильно понял,  скорее всего тебе нужно установить хак для работы джумлы в старом режиме (старый стиль работы Itemid).

в файле /components/com_content/content.html.php надо этот код

Код:

$_Itemid = $Itemid;

заменить на

Код:

$_Itemid = $mainframe->getItemid( $rows[$i]->id, 0, 0  );


а этот

Код:

$row->_Itemid = $Itemid;


на этот

Код:

if ( $task != 'view' && $task != 'category' ) {
     $row->_Itemid = $mainframe->getItemid( $row->id, 0, 0 );
} else {
     // when viewing a content item, it is not necessary to calculate the Itemid
     $row->_Itemid = $Itemid;
}


После этого если кликнешь по ссылке подробнее в модуле, то материал откроется в том разделе, из которого эта новость.

сделал как ты написал в Жумла 1,3 -НЕ помогло... http://max-info.ru/content/view/22/42/  ; http://max-info.ru/content/view/26/42/  ; http://max-info.ru/content/view/22/34/
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
а пункты меню для этих ссылок создали? если нет, то так и будет на главной

а пункты меню для этих ссылок создали? если нет, то так и будет на главной

пункты меню не создавал.. вы имеете виду создать пункт меню.. и не публиковать его в основном меню? (у меня были подозрения что это позоляет "закрепить" страницу(статью) за определённым адресом..)
+ ко всему -  у меня 1.3 - там не работает переключатель в глобальных настройках на прежнюю работу  работу itemID.. не подскажите почему?
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
то, что я привела не касается глобальных настроек через админку. Если этот хак применить, то должен работать (у меня по крайней мере работает).
А пункты меню надо создавать и закреплять за ними материалы. А публиковать или нет - это уж решать Вам.
*

palant

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
у меня 1.3 - там не работает переключатель в глобальных настройках на прежнюю работу  работу itemID.. не подскажите почему?
1.13 может? Конфигурационный файл доступен на запись? И Вы пробовали переключать режим после хака или до? Лучше что-то одно использовать наверное. Меня вот полностью удовлетворила работа «переключателя».

1.13 может? Конфигурационный файл доступен на запись? И Вы пробовали переключать режим после хака или до? Лучше что-то одно использовать наверное. Меня вот полностью удовлетворила работа «переключателя».
Конфигурационный файл = config.php ??
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!

1.13 может? Конфигурационный файл доступен на запись? И Вы пробовали переключать режим после хака или до? Лучше что-то одно использовать наверное. Меня вот полностью удовлетворила работа «переключателя».

спасибо большое! действительно -  Конфигурационный файл не доступен на запись был...
В связи с отключение работы ID возникает такой вопрос: снизится ли скорость работы (увеличится нагрузка на базу..) .?? - я читал где-то, что ITEMID специально введён не только для логики , но и для  оптимизации БД..
м ещё вопросик остался- сторонний SEF (OpenSEF or JOOMSef) сильно грузят БД? -я так понимаю перенаправления прописаны именно в БД.. - планируется 1000 статей при посещаемости около 1500-2000 хостов в сутки..?
*

palant

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
А попробуйте включить дебаг в глобальных конфигурациях и посмотреть, насколько изменилось время генерации страниц и количество запросов.
P.S.: по-моему в стандартном дебаге время генерации не показывает, но для этого надо в шаблон вставить всего 1 строку, правда я забыл какую, правда тема ни раз поднималась, думаю поиском можно найти.

Подскажите пожалуйста, какая версия Джумлы на joomlaportal.ru ?
мучают дублированные адреса страниц -
переключатель работы itemid в joomla 1,13 не сработал(cinfiguration.php доступен для записи), хак для редактирования кода в файле /components/com_content/content.html.php }
тоже не помогает.. как "зафиксировать" ITEMID?

Создал пункт меню Компонент-карта сайта, получил линк:
http://site.ru/component/option,com_xmap/Itemid,4/
позже решил копировать карту в нижнее меню (через "копировать" в редакторе меню) - получаю уже ссылку:
http://site.ru/component/option,com_xmap/Itemid,59/

Так как 2 ссылки на тот же материал не хорошо, что подскажете?
Я могу ведь в обоих меню создать URL ссылку http://site.ru/component/option,com_xmap вместо ссылки на компонент - это нормально? Или скопировать линк с первого меню во второй?
*

Yomoto

  • Захожу иногда
  • 101
  • 2 / 0
мне как-то давали совет такой. У меня сработало.
Если я правильно понял,  скорее всего тебе нужно установить хак для работы джумлы в старом режиме (старый стиль работы Itemid).

в файле /components/com_content/content.html.php надо этот код

Код:

$_Itemid = $Itemid;

заменить на

Код:

$_Itemid = $mainframe->getItemid( $rows[$i]->id, 0, 0  );


а этот

Код:

$row->_Itemid = $Itemid;


на этот

Код:

if ( $task != 'view' && $task != 'category' ) {
     $row->_Itemid = $mainframe->getItemid( $row->id, 0, 0 );
} else {
     // when viewing a content item, it is not necessary to calculate the Itemid
     $row->_Itemid = $Itemid;
}


После этого если кликнешь по ссылке подробнее в модуле, то материал откроется в том разделе, из которого эта новость.

На 1.0.12 тоже не работает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не выводится Google Adsense на главной странице сайта

Автор lodyr

Ответов: 0
Просмотров: 3812
Последний ответ 11.11.2014, 17:29:58
от lodyr
В админке пропали заголовки материалов

Автор djos

Ответов: 0
Просмотров: 2139
Последний ответ 26.09.2013, 05:42:47
от djos
Настройка главной страницы

Автор Alexey2013

Ответов: 6
Просмотров: 3150
Последний ответ 15.04.2013, 14:43:36
от Alexey2013
Не могу разобраться с редактированием главной страницы

Автор P!T

Ответов: 1
Просмотров: 2899
Последний ответ 15.04.2013, 10:51:54
от Werber
Автопубликация статей авторов на главной в Joomla 1.0

Автор palexa

Ответов: 6
Просмотров: 3581
Последний ответ 16.02.2013, 11:07:07
от palexa