Отключить изображение в зависимости от того, на какой странице вы находитесь

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

Допустим, я посетил www.rene.com/promotions/hitman. На RHS этой страницы у меня есть плохая сторона, показывающая другие рекламные изображения. Теперь я хочу скрыть изображение для киллера с боковой панели. Короче говоря, когда я нахожусь на странице продвижения, изображение на правой боковой панели, связанное с промо, которое я посетил, не будет показано. Правая боковая панель использует цикл и загружает все изображения. Как я могу связать правую боковую панель с продвижением, которое я посетил? Единственное, что общего - это название промо и папка с промо-изображениями:

Промо-ссылка: www.rene.com/promotions/hitman

Изображение боковой панели: /img/promotions/hitman/250x90.jpg

1 ответ

Решение

Решение 1

Найдите подходящие данные между вашей текущей средой и данными в цикле, который вы повторяете. Вы можете найти полезную информацию в вашем request, Например, если изображение, которое вы хотите пропустить, имеет src или даже hrefзатем вы можете сопоставить его с URL-адресом среды вашего запроса (обычно это request.env['PATH_INFO']) или что-то подобное.

Если href вашего изображения / ссылки совпадает с информацией о пути в вашем запросе, тогда вам, вероятно, следует пропустить текущую итерацию (next), поскольку тогда вы будете отображать ссылку на страницу, на которой вы сейчас находитесь.

Решение 2

Работая с Ramaze, я бы решил эту проблему. Для начала мне нужно высказать несколько предположений / претензий.

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

Ваш контроллер (из-за вашего URL он, вероятно, называется promotions.rb) должен (или может) содержать метод действия, называемый hitman, Этот метод представляет действие посещения страницы promotions/hitman, Объявите здесь переменную, которую можно использовать в вашем экземпляре (instance variable, читайте больше здесь).

Теперь у вас есть instance variable который вы можете использовать в своем шаблоне макета / индекса и отправить в качестве параметра к частичному.

В частности, вам нужно получить его и сопоставить его с объектом, над которым вы сейчас перебираете (в вашем примере, URL изображения) - если они совпадают, вы скрываете это изображение (или пропускаете итерацию, используя next в вашем цикле).

Другие вопросы по тегам