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

Изменение цвета пункта меню модуля "Информация"

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

Здравствуйте. Вот задался вопросом как сделать выделение заголовков определенных статей в модуле "Информация".

Изначально имеем вид модуля:

Изображение

Есть желание изменить цвет определенного заголовка статьи и привести его к такому виду:

Изображение

Сам вывод модуля в шаблоне реализован так

<ul>
<?php foreach ($informations as $information) { ?>
<li><a href="<?php echo str_replace('&', '&', $information['href']); ?>"><?php echo $information['title']; ?></a></li>
<?php } ?>
<li><a href="<?php echo str_replace('&', '&', $contact); ?>"><?php echo $text_contact; ?></a></li>
<li><a href="<?php echo str_replace('&', '&', $sitemap); ?>"><?php echo $text_sitemap; ?></a></li>
</ul>

Вот тут у меня и возник вопрос - как для определенного id статьи сделать вывод другим цветом?

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


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

...как для определенного id статьи сделать вывод другим цветом?

<li><a href="<?php echo str_replace('&', '&', $contact); ?>"><font color="#ff0000"><?php echo $text_contact; ?></font></a></li>
Изображение

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


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

<li><a href="<?php echo str_replace('&', '&', $contact); ?>"><font color="#ff0000"><?php echo $text_contact; ?></font></a></li>
Изображение

Да, для статей "Наши контакты" и "Карта сайта" делается именно так. У меня возник вопрос по статье которая берется из массива, например статьи "Политика Безопасности"

<?php foreach ($informations as $information) { ?>
<li><a href="<?php echo str_replace('&', '&', $information['href']); ?>"><?php echo $information['title']; ?></a></li>
<?php } ?>
Изменено пользователем shoom

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


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

смотрите ID нужных вам статей

открываете

catalog/controller/module/information.php

меняете

foreach ($this->model_catalog_information->getInformations() as $result) {
			$this->data['informations'][] = array(
				'title' => $result['title'],
				'href'  => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=information/information&information_id=' . $result['information_id'])
			);
		}
на

foreach ($this->model_catalog_information->getInformations() as $result) {
			
			if ($result['information_id'] == "ТУТ ID, СТАТЬИ, КОТОРУЮ ХОТИТЕ _ПОДКРАСИТЬ_") {
				$information_style_start = "<span style=\"color:#FF0000;\">";
				$information_style_end = "</span>";
			} else {
				$information_style_start = "";
				$information_style_end = "";
			}
			
			$this->data['informations'][] = array(
				'title' => $information_style_start . $result['title'] . $information_style_end,
				'href'  => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=information/information&information_id=' . $result['information_id'])
			);
		}
  • +1 1

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


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

Можно сделать более гибкий вариант... в массив informations добавить идентификатор статьи.

В файле catalog/controller/module/information.php найти

foreach ($this->model_catalog_information->getInformations() as $result) {
	$this->data['informations'][] = array(
      		'title' => $result['title'],
   		'href'  => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=information/information&information_id=' . $result['information_id'])
	);
}
и изменить так

foreach ($this->model_catalog_information->getInformations() as $result) {
	$this->data['informations'][] = array(
      		'id'    => $result['information_id'],
      		'title' => $result['title'],
   		'href'  => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=information/information&information_id=' . $result['information_id'])
	);
}

После этого во вьювере можно каждому элементу списка поцепить свой класс.

В файле catalog/view/theme/НАЗВАНИЕ_ТЕМЫ/template/module/information.tpl найти строку

<li><a href="<?php echo str_replace('&', '&', $information['href']); ?>"><?php echo $information['title']; ?></a></li>
и изменить так

<li class="info_<?php echo $information['id']; ?>"><a href="<?php echo str_replace('&', '&', $information['href']); ?>"><?php echo $information['title']; ?></a></li>

Теперь стилями можно изголяться как угодно...

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


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

смотрите ID нужных вам статей

открываете

catalog/controller/module/information.php

....

Благодарю за помощь:) Выбрал Ваш вариант. Со стилями, как предложил Yesvik, не получилось, может не там прописывал, хотя его вариант тоже понравился.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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

×

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

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