2015-12-02 5 views
0

У меня есть старый файл. Я хотел бы интегрировать его в новый шаблон, который я купил.Преобразование массива в новый массив для соответствия шаблону

У меня есть список ссылок. Я храню их в массиве Session. Массив имеет заголовок и URL для каждого


<?php session_start(); 
//in my old file i write this 

foreach ($_SESSION[links] as $value){ 
?> 
<a href="<?php print $value[linkurl]?>"><?php print $value[linktitle]?></a ><?php 
} 

// array style i need to match in the new file 

// "name" => array(
//  "title" => "Display Title", 
//  "url" => "http://yoururl.com" 
//  ) 

// what i tried 

// foreach ($_SESSION[links] as $value){ 
//  "$value[linktitle]" => array(
//   "title" => "$value[linktitle]", 
//   "url" => "$value[linkurl]" 
//  ) 
// } 

//obviously doesn't work 
?> 

Вот полный шаблон. Я пытаюсь заменить суб смарт-интерфейса (карусели, закладка ...)

<?php 

//CONFIGURATION for SmartAdmin UI 

//ribbon breadcrumbs config 
//array("Display Name" => "URL"); 
$breadcrumbs = array(
    "Home" => APP_URL 
); 

/*navigation array config 

ex: 
"dashboard" => array(
    "title" => "Display Title", 
    "url" => "http://yoururl.com", 
    "url_target" => "_self", 
    "icon" => "fa-home", 
    "label_htm" => "<span>Add your custom label/badge html here</span>", 
    "sub" => array() //contains array of sub items with the same format as the parent 
) 

*/ 
$page_nav = array(
    "dashboard" => array(
     "title" => "Dashboard", 
     "url" => APP_URL, 
    ), 
    "smartui" => array(
     "title" => "Smart UI", 
     "icon" => "fa-code", 
     "sub" => array(

      "carousel" => array(
       "title" => "Carousel", 
       "url" => APP_URL.'/smartui-carousel.php' 
      ), 
      "tab" => array(
       "title" => "Tab", 
       "url" => APP_URL.'/smartui-tab.php' 
      ), 
      "accordion" => array(
       "title" => "Accordion", 
       "url" => APP_URL.'/smartui-accordion.php' 
      ), 
      "widget" => array(
       'title' => "Widget", 
       'url' => APP_URL."/smartui-widget.php" 
      ), 
      "datatable" => array(
       "title" => "DataTable", 
       "url" => APP_URL."/smartui-datatable.php" 
      ), 
      "button" => array(
       "title" => "Button", 
       "url" => APP_URL."/smartui-button.php" 
      ), 
      'smartform' => array(
       'title' => 'Smart Form', 
       'url' => APP_URL.'/smartui-form.php' 
      ) 
     ) 
    ) 

); 

//configuration variables 
$page_title = ""; 
$page_css = array(); 
$no_main_header = false; //set true for lock.php and login.php 
$page_body_prop = array(); //optional properties for <body> 
$page_html_prop = array(); //optional properties for <html> 
?> 

var_dump:

array(6) { 
    [0]=> array(4) { ["linktitle"]=> string(13) "Claims Center" ["linkurl"]=> string(79) "Claims.php" ["Sectionlinktitle"]=> string(12) "Applications" ["linkdes"]=> string(11) "Application" } 
    [1]=> array(4) { ["linktitle"]=> string(16) "Expense Allocate" ["linkurl"]=> string(81) "Expense.php" ["Sectionlinktitle"]=> string(12) "Applications" ["linkdes"]=> string(11) "Application" } 
    [2]=> array(4) { ["linktitle"]=> string(13) "Freight Rater" ["linkurl"]=> string(105) "User.php" ["Sectionlinktitle"]=> string(12) "Applications" ["linkdes"]=> string(11) "Application" } 
    [3]=> array(4) { ["linktitle"]=> string(14) "Invoice Center" ["linkurl"]=> string(71) "Online.php" ["Sectionlinktitle"]=> string(12) "Applications" ["linkdes"]=> string(11) "Application" } 
    [4]=> array(4) { ["linktitle"]=> string(4) "KPIs" ["linkurl"]=> string(4) "KPIs" ["Sectionlinktitle"]=> string(10) "Dashboards" ["linkdes"]=> string(9) "Dashboard" } 
    [5]=> array(4) { ["linktitle"]=> string(16) "Multi-Mode Rater" ["linkurl"]=> string(0) "M" ["Sectionlinktitle"]=> string(12) "Applications" ["linkdes"]=> string(16) "Multi-Mode Rater" } 
      } 
+0

Узнайте, как использовать ключи массивов. –

ответ

1

Вы хотите добавить навигацию в $ _SESSION ['links'] к новому шаблону!

Отзыв о переменной $page_nav (/* $page_nav = array(...); */) в шаблоне. Это будет генерировать код для вставки в шаблоне (вырезать и вставить):

$a = $_SESSION['links']; 
echo '<pre>$page_nav = array(' . "\n"; 
foreach($a as $k=>$v) { 
    echo "\t'" . strtolower(str_replace(' ','',$v['linktitle'])) . "' => array(\n" 
     . "\t\t'title' => '" . $v['linktitle'] . "',\n" 
     . "\t\t'url' => '" . $v['linkurl'] . "'\n" 
     . "\t),\n"; 
} 
echo ');</pre>'; 

Если вы хотите сохранить код в переменной $ _SESSION (на самом деле не очень хорошая идея) вы кладете этот кусок кода в его Место:

$page_nav = array(); 
foreach ($_SESSION['links'] as $k=>$v) { 
    $page_nav[strtolower(str_replace(' ','',$v['linktitle']))] = array(
     'title' => $v['linktitle'], 
     'url' => $v['linkurl'] 
    ); 
} 

Я думаю, это должно сработать! Я не рассматривал никаких подменю, поскольку ни один из них не был в вашем var_dump!

+0

охладиться. Первый код делает печать ссылки мне нужно Но мне нужно, чтобы остаться в сессии, потому что это динамический – mHenderson

+0

Cut и паста не будет работать для меня я действительно не understant второй код – mHenderson

+0

я получаю:... ошибка синтаксического анализа: синтаксическая ошибка, неожиданный '=', ожидающий ')' ... где 'title' = $ v ['linktitle'], – mHenderson

1

Вам нужно создать новый массив:

$page_nav = array(); 
foreach ($_SESSION[links] as $value) { 
    $page_nav[][$value['linktitle']] = array(
     'title' => $value['linktitle'], 
     'url' => $value['linkurl'] 
    ) 
} 

сейчас вы должны иметь все в новом массиве $ var;

+0

Я обновил пример. Наверное, я не знаю, как применить это к шаблону. Спасибо. – mHenderson

+0

Что вы думаете @Hasse Björk – mHenderson

+0

Как мне вернуть значение? – mHenderson

 Смежные вопросы

  • Нет связанных вопросов^_^