gpt4 book ai didi

javascript - 如何将 $user 对象从 drupal 传递到 Angular JS 应用程序以便 Angular 可以使用它?

转载 作者:行者123 更新时间:2023-12-02 18:19:58 25 4
gpt4 key购买 nike

我有一个带有自定义模块的 Drupal 站点,我用它来调用 Angular 应用程序。

这是模块代码:

/**
* Implements hook_menu().
*/
function portfolio_menu() {
$items = array();

$items['portfolio'] = array(
'access arguments' => array('access content'),
'title' => t('Portfolio'),
'page callback' => 'portfolio_page',
);

return $items;
}

/**
* Page callback: Displays Your Application on the page.
*
* @see your_application_menu()
*/
function portfolio_page() {
$path = drupal_get_path('module', 'portfolio');
drupal_add_js($path . '/lib/angular/angular.js');
drupal_add_js($path . '/lib/angular/angular-resource.js');
drupal_add_js($path . '/js/services.js');
drupal_add_js($path . '/js/app.js');
drupal_add_js($path . '/js/controllers.js');
drupal_add_js($path . '/js/filters.js');
drupal_add_css($path . '/css/app.css');
drupal_add_css($path . '/css/bootstrap.css');
return theme('portfolio');
}

function portfolio_theme($existing, $type, $theme, $path) {
$theme = array();

$theme['portfolio'] = array(
'variables' => array(),
'template' => 'portfolio',
);

return $theme;
}

app.js:

angular.module('portfolio', ['tickerFilters', 'tickerServices']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/tickers', {templateUrl:'...portfolio/partials/ticker-list.html', controller: TickerListCtrl}).
otherwise({redirectTo: '/tickers'});
}]);

这是 drupal 加载的最后一个 tpl.php 文件:

<div ng-app="portfolio" ng-init="user = <? json_encode($user); ?>">
<div ng-view></div>
</div>

我的问题是,当我调用应用程序时,如何将 drupal $user 对象传递给 Angular,以便 $user 数据可以在 Angular 应用程序中使用?

最佳答案

您没有回显 json_encode 的输出,您需要使用 <?=并且 json_encode 的输出包含双引号,因此您需要将它们更改为单引号

<?= str_replace('"', "'", json_encode($user)); ?>

关于javascript - 如何将 $user 对象从 drupal 传递到 Angular JS 应用程序以便 Angular 可以使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18926021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com