Перейти к содержанию
Silberschnitt

Как вывести отдельные страницы информации? [РЕШЕНО]

Рекомендуемые сообщения

Уважаемые продвинутые пользователи, как вывести отдельные ссылки из блока информации ?

код:

<?php foreach ($informations as $information) { ?>
  <li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>
<?php } ?>

выводит сразу все содержимое

Другими словами, как записать:

<li><a href="index.php?route=information/information&information_id=4">О компании</a></li>
<li><a href="index.php?route=information/information&information_id=9">Услуги</a></li>

через переменные и в ссылке и в якоре

ос 1.5.3.1 на localhost

Спасибо за внимание

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что мешает прописать вышеприведенные ссылки перед

<?php } ?>

? Ну или вместо цикла..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что мешает прописать вышеприведенные ссылки перед

<?php } ?>

? Ну или вместо цикла..

Есть 10 статей ( о нас, услуги, доставка и оплата, условия соглашения и т. д.). Цикл выводит их все в модуле "информация".

Хочу вывести в меню хедера только 3.

<div id="menu2">
  <ul>
<li><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a></li>
<li><a href="index.php?route=information/information&information_id=4">О компании</a></li>
<li><a href="index.php?route=information/information&information_id=9">Услуги</a></li>
<li><a href="<?php echo $sitemap; ?>"><?php echo $text_sitemap; ?></a></li>
<li><a href="index.php?route=information/information&information_id=8">Загрузить</a></li>
<li><a href="<?php echo $contact; ?>"><?php echo $text_contact; ?></a></li>
  </ul>
</div>

Как переписать 2,3 и 5 строчки в виде:

<li><a href="<?php echo ...............; ?>"><?php echo ............; ?></a></li>

Что вставить вместо многоточия ???

Это нужно для мультиязычности, и чтобы скрипт

<script type="text/javascript">
jQuery(document).ready(function($) {
var url=document.location.href;
$.each($("#menu2 a"),function(){
if(this.href==url){$(this).addClass('active');};
});
})(jQuery);
 </script>

работал с SEO PRO

Спасибо за внимание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас название ссылок на разных языках?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас название ссылок на разных языках?

На разных языках якоря ссылок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

аааа.. якоря ссылок на разных языках... про такое я еще не думал...

Это зачем такое??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

аааа.. якоря ссылок на разных языках... про такое я еще не думал...

Это зачем такое??

Простите мне мое дилетантство. Я якорем называл сам текст ссылки

Короче, на разных языках текст ссылки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как-то все непонятно.

В контроллере создайте переменную, которая имя из языкового файла будет тянуть со ссылкой.

Ну и языковые, соответственно.

Однако, все как-то запутано =) По ссылке ?route/info_blah_blah ведь все-равно будет переход на сайт/информация_3

Не понимаю, зачем это.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ravilr и Alex Fisher, спасибо. Но это, в принципе, понятно мне было. Попробую еще пояснить откуда ноги растут.

Изначально стоит задача сделать подсвечивание пункта меню на текущей странице. Вопрос поднимался здесь

вот есть скрипт

jQuery(document).ready(function($) {
var url=document.location.href;
$.each($("#menu2 a"),function(){
if(this.href==url){$(this).addClass('active');};
});
})(jQuery);

Он вполне работает с SEO PRO даже где заменены все ссылки типа ?route/info_blah_blah

смотрим_тут

Когда ссылка имеет вид

<li><a href="index.php?route=information/sitemap">карта сайта</a></li>

скрипт не работает.

Когда ссылка имеет вид

<li><a href="<?php echo $sitemap; ?>">карта сайта</a></li>

скрипт работает

если выводить статьи через цикл

<?php foreach ($informations as $information) { ?>
<li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>
<?php } ?>

скрипт тоже будет работать. Как я понимаю, вместо $information['href'] подставляется SEO URL из админки, вместо $information['title'] - заголовок статьи.

Но цикл выводит сразу все статьи. Отключить в админке не вариант.

Короче, схематично это выглядит так:

массив:

$informations = array( information_id=4, information_id=5, information_id=6, information_id=7, information_id=8 )

цикл:

foreach ($informations as $information) {
echo $information; }

и он все выводит

А мне нужно так

echo $informations[information_id=4];
echo $informations[information_id=6];

Тогда не будет нужды и новые языковые переменные вводить

Спасибо за внимание, надеюсь, все понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Осталось понять почему скрипт не работает )))

вот вы пишите

когда ссылка

<li><a href="index.php?route=information/sitemap">карта сайта</a></li>

а ссылка то у вас на карту какая???

напишите так

<li><a href="./sitemap/">карта сайта</a></li>

и все заработает.

а по поводу получения отдельной статьи, я искал давным давно решение, так и не нашел на тот момент и сделал через переменные.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

блин, .location что в первом, что во втором примере будет один. Все правильно. Лучше понять почему скрипт не жужжит )

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
а ссылка то у вас на карту какая???

напишите так

<li><a href="./sitemap/">карта сайта</a></li>

Так ссылки прописал. Вроде заработало. Спасибо огроменное !

Если нервы мотал, извиняюсь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.