#php #drupal #drupal-6 #drupal-modules #drupal-theming
#php #drupal #drupal-6 #drupal-модули #drupal-тематизация
Вопрос:
Все, что я действительно хочу сделать, это заменить путь Google на мой.
//код из модуля
$today = amp;$handler->current_conditions;
$condition = (string) $today->condition->attributes()->data;
$unit = google_weather_get_unit($convert_to);
$icon_src = (string) $today->icon->attributes()->data;
$content['current'] = array(
'temp' => $convert_to == 'SI' ? (string) $today->temp_c->attributes()->data . $unit : (string) $today->temp_f->attributes()->data . $unit,
'humidity' => (string) $today->humidity->attributes()->data,
'icon' => theme('image', 'http://www.google.com' . $icon_src, $condition, $condition, NULL, FALSE),
'condition' => $condition,
'wind_condition' => (string) $today->wind_condition->attributes()->data,
'custompath'=> $icon_src,
);
//код из tpl.php
<div class="weather-icon float-left">
// <?php print $content['current']['icon']; ?>
<?php print $base_url; ?>
<?php print $content['current']['custompath']; ?>
</div>
Ответ №1:
разве вы не можете просто использовать str_replace? Например, если теперь написано http://www.google.com/images/icon.png и вам нужно http://www.myhost.com/images/icon.png:
<?php print str_replace("www.google.com", "www.myhost.com", $content['current']['icon']); ?>
Комментарии:
1. str_replace звучит круто, но их путь отличается от моего .. скажем, их /weather / ig / images, а мой — это что-то совсем другое? это то, что мне действительно нужно сделать .. спасибо
2. Вы можете использовать его с совершенно другими путями, если хотите:
str_replace("http://www.google.com/weather/ig/images/", "http://www.mysite.com/another/structure/images/", $content['current']['icon']);
таким образом, вы можете изменить не только домен, вы также можете изменить всю структуру каталогов, они не обязательно должны совпадать. Он просто выполняет поиск первой строки и заменяет ее второй заданной. Взгляните на php.net/manual/en/function.str-replace.php