Ничто в вашем коде не изменилось с Drupal 6 на 7 ... все функции действительны, и если это сработало для Drupal 6, нет никаких причин, по которым оно не сработало бы для Drupal 7.
НадеюсьВы не понимаете, почему вы используете drupal_match_path
для псевдонима пути, однако вы должны использовать его для router path, а не для URL-адреса:
if(variable_get('myvar',1) && !drupal_match_path($_GET['q'], 'admin/*')) {
Попробуйте это иПосмотрите, решит ли это вашу проблему, если не могли бы вы немного рассказать о том, какую ошибку вы получаете?
РЕДАКТИРОВАТЬ
Спасибо за обновление, ваш второй комментарий ниже почти верен, вы простонеобходимо указать для массива рендеринга ключ:
function myfunc_page_alter(&$page) {
$page['page_bottom']['my_extra_element'] = array(
'#markup' => '<div><h3> testingthisout</h3> </div>',
'#weight' => 25
);
}
Вам не нужно указывать '#type' => 'markup'
, так как markup
является значением по умолчанию.
Затем убедитесь, что ваш модуль (тот,называется myfunc
) однозначно установлен, и очистите кеш.У вас не должно быть проблем оттуда