У меня есть три объявления A, B, C и три категории с названиями a, b, c. Как отобразить объявление A в категории a, объявление B в категории b и объявление C в категории c? Я не могу найти эту настройку в плагине для объявлений. Есть какие-нибудь идеи? Спасибо.
Я использовал домашние объявления, включающие все три рекламных блока, с помощью CSS, который затем можно применить в каждой категории, чтобы скрыть объявления из других категорий.
Спасибо, @pfaffman. Я не понимаю ваше решение. Вы имеете в виду:
- Создать три разных объявления с разными именами классов (.first-ad, .second-ad, .third-ad) и сделать их видимыми во всех трёх категориях.
- Настроить CSS-стили категорий (я не уверен, как это сделать), чтобы скрывать некоторые объявления в зависимости от их имени класса (если я не хочу показывать второе объявление в категории A, я добавлю .second-ad {disable: none} в CSS-стили).
Да, что-то вроде того. Я думаю, что по умолчанию это было скрыто, а затем переопределено для категории, в которой оно должно отображаться. Мой уровень CSS не позволяет описать это более изящно, но, похоже, вы поняли меня очень близко к тому, как я это задумал. А может, даже лучше.
Вам, возможно, будет «лучше» реализовать это с помощью JavaScript или, если предпочитаете, jQuery.
Например, класс в теме показывает название категории, как в этом примере:
<span class="category-name">Вопросы по UNIX для начинающих</span>
Таким образом, в скрипте для страницы темы вы выбираете текст элемента с классом «category-name», а затем внедряете тег вашего объявления в div-элемент по вашему выбору, исходя из текста категории.
На мой взгляд, это более надёжный метод, чем просто скрытие и отображение div-элементов с кодом объявлений исключительно через CSS.
Это также очень просто реализовать для любого, кто обладает базовыми навыками JavaScript или jQuery.
Вы выбираете внутренний текст элемента span на основе класса span категории. Затем вы сопоставляете этот текст со списком ваших категорий и вставляете код вашего объявления в выбранный элемент DOM на этой странице в зависимости от категории.
Написать этот код довольно просто для любого, кто владеет базовыми навыками JavaScript, и это, вероятно, лучший способ реализовать то, что вы хотите. @Windsooon
Спасибо за ваше предложение, это очень полезно, @neounix. У меня есть некоторый опыт работы с JavaScript. Однако после настройки рекламы с помощью CSS я не знаю, куда поместить свой JavaScript-код. Стоит ли мне:
- Поместить его на свой сервер (изменить код в базе кода Discourse)
- Поместить его в админ-панели
- Использовать дополнительный плагин или компонент темы.
Спасибо.
Вы можете добавить свой код в подвал (или перед закрывающим тегом body) в вашей теме или вставить его в компонент темы и применить этот компонент к своим темам. Выбор за вами.
Селекторы DOM будут различаться в зависимости от страницы, на которой вы отображаете рекламу.
На самом деле, вам следует хранить основную часть кода на вашем любимом веб-сайте и просто добавлять ссылку для загрузки JavaScript в вашу тему или компонент темы, по крайней мере, именно так я обычно поступаю.
Лично я считаю, что jQuery лучше подходит для работы с селекторами DOM в темах, но, вероятно, это потому, что у меня больше опыта работы с селекторами jQuery по сравнению с обычными селекторами JS.
Понял! Большое спасибо.
Добро пожаловать @Windsooon
Именно для этого и был создан JavaScript — для манипуляций с DOM, включая вставку элементов в DOM, так что вы на верном пути! ![]()
Наслаждайтесь!!!
Найдется ли кто-нибудь, кто возьмется сделать это за меня? Мне нужно настроить рекламу по категориям примерно для 9 категорий.
Привет, Марк,
Ты продвинулся хоть немного в этом вопросе? Честно говоря, мои знания CSS и Java очень ограничены, и мы справляемся в основном за счёт доступных нам компонентов пользовательской темы.
Мы также хотели бы использовать «функцию AD», чтобы просто добавлять пользовательский текст к нашим категориям, но не можем найти способ отображать его только для конкретной категории.
Если вы хотите добавить текст в заголовок категорий вместо отображения рекламы, у нас есть компонент темы Category Banners, который, возможно, вам подойдёт?
