Nano Hash - криптовалюты, майнинг, программирование

Изменение навигации по меню для включения домена

Небольшая предыстория, если вы хотите понять, почему я делаю то, что делаю:

У меня есть клиент, который хотел, чтобы новый блог был сделан с помощью Wordpress на отдельном поддомене. Их существующий веб-сайт находится на Drupal, с которым до этого у меня не было опыта. У них довольно обширная навигация на этом сайте (несколько уровней), поэтому вместо того, чтобы создавать дубликаты навигационных меню, которые нужно было бы обновить как на wordpress, так и на drupal, я использую YQL, чтобы вывести всю навигацию на сайт Wordpress. Я знаю, что это не очень хорошо для SEO, но на данный момент меня это не беспокоит.

Моя проблема заключается в том, что все ссылки на веб-сайте Drupal не включают http://domain.com, поэтому ни одна из ссылок не работает на сайте блога, потому что они ведут на относительные страницы этого субдомена, которых не существует.

Итак, вкратце, чего я пытаюсь добиться:

Мне нужно, чтобы каждый href, который генерирует Drupal, начинался с «http://domain.com». В настоящее время они просто начинаются с «/ pagename». Я понятия не имею, на какой версии Drupal находится сайт, и как его найти, извините. Сайт также использует плагин Nice Menu от Drupal. Я уже пару часов копаюсь в файлах и не могу понять, где мне нужно внести изменения. Пожалуйста помоги! Спасибо


Изменить: dobeerman упомянул об использовании custom_url_rewrite_outbound в settings.php. Кажется, это близко к тому, что я хочу. Я попытался добавить это в конец settings.php:

function custom_url_rewrite_outbound(&$path, &$options, $original_path) {
  global $user;
  $path = 'http://www.reillypainting.com/'.$path;
}

Однако конечным результатом href в меню становится следующий пример:

href="/http%3A/%252Fwww.reillypainting.com/services/sell/rent-your-house"

Таким образом, другой код, генерирующий меню Drupal, пытается избежать ://, а также добавляет / в начало href. Кто-нибудь знает, как этого избежать?

19.03.2011

Ответы:


1

В Drupal есть функция custom_url_rewrite_outbound, которую вы можно добавить в settings.php

Используйте этот код:

function custom_url_rewrite_outbound(&$path, &$options, $original_path) {
  $options['absolute'] = 1;
}
19.03.2011
  • Потрясающе, спасибо! Похоже, это как раз то, что мне нужно. Я близок: я попытался добавить это в конец settings.php: function custom_url_rewrite_outbound(&$path, &$options, $original_path) { global $user; $path = 'reillypainting.com/'.$path; } Это был пример результата выходной ссылки: ‹a href=/http%3A/%252Fwww.reillypainting.com/services/sell/rent-your-house title=Sell or Rent Your House›Sell/Rent Your House‹/ a› Похоже, что код, который создает URL-адреса, пытается избежать ://, а также добавляет / в начале. Знаете, что попробовать дальше? 19.03.2011
  • используйте $options['absolute'] = 1 в своей функции 20.03.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..