我正在使用在服務器(SellerDeck)上運行的第三方購物車解決方案。我有一些代碼在服務器上運行,用基本的產品數據(數量,價格,名稱)格式化購物籃。我需要找到更多的數據,我認爲這是在2個哈希數組中進行的。我不知道這兩個數組中包含了什麼,所以我想將數組轉換爲字符串,並通過現有代碼將其輸出到客戶端的cookie中,然後我可以查看該代碼。 2個數組是$ pCartItem和$ pProduct(請參閱底部的代碼以瞭解它們的用法)。查找散列數組中的內容(在服務器上)
字符串$ cartStr(代碼的底部)通過代碼的另一部分輸出到客戶端的Cookie中。
我想將2個數組轉換爲2個字符串,可以連接到$ cartStr。然後我可以閱讀我的本地電腦(客戶端)上的內容。我的問題是我對perl非常陌生,並且知道如何進行轉換。
我嘗試添加:
my $MiniCrtS=" ";
my $MiniCartElmt;
foreach $MiniCartElmt (@{$pProduct}) {
$MiniCrtS=$MiniCrtS . $MiniCartElmt;
}
,然後從改變$ cartStr:
HTML::Entities::encode(substr($pProduct->{'NAME'},0,$abrv))
到:
HTML::Entities::encode(substr($MiniCrtS,0,$abrv))
但這種改變使得代碼崩潰時運行。
關於我在做什麼錯的任何想法或找到數組中的數據的替代方法?
非常感謝託尼
相關的代碼是:
sub miniCart
{
use HTML::Entities();
my $Self = shift;
my $abrv=12; # number of characters to abbreviate item name
my $defaultCur="£"; # currency symbol to include
my $cartStr="ss=" . $::g_sSearchScript . "cur=" . $defaultCur;
my $pCartItem;
foreach $pCartItem (@{$Self->{_CartList}})
{
my ($Status, $Message, $pProduct) = GetProduct($pCartItem->{'PRODUCT_REFERENCE'}, $pCartItem->{'SID'});
if ($Status == $::FAILURE)
{
return ($Status, $Message, []);
}
elsif ($Status == $::NOTFOUND)
{
next;
}
my @Prices = $Self->GetCartItemPrice($pCartItem);
$cartStr=$cartStr . "&!" . $pCartItem->{'QUANTITY'} . "x" . HTML::Entities::encode($pCartItem->{'PRODUCT_REFERENCE'}) . ">" . HTML::Entities::encode(substr($pProduct->{'NAME'},0,$abrv)) . ">" . $Prices[2]/100;
}
return $cartStr;
}
SellerDeck沒有文檔嗎? –
不幸的不是。這是他們不鼓勵任何變化的領域。問題實際上只是將數組$ pProduct轉換爲字符串。 – ag2
阻止你將數組編碼爲JSON或YAML? –