本文整理匯總了PHP中ShoppDatabaseObject::copydata方法的典型用法代碼示例。如果您正苦於以下問題:PHP ShoppDatabaseObject::copydata方法的具體用法?PHP ShoppDatabaseObject::copydata怎麽用?PHP ShoppDatabaseObject::copydata使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ShoppDatabaseObject
的用法示例。
在下文中一共展示了ShoppDatabaseObject::copydata方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: copydata
public function copydata($Item, $prefix = '', array $ignores = array())
{
parent::copydata($Item);
if (isset($Item->option->label)) {
$this->optionlabel = $Item->option->label;
}
$this->price = $Item->option->id;
// Generate download link for downloadables
if ('Download' == $Item->type && !empty($this->download)) {
$this->keygen();
$this->download = (int) $this->download->id;
// Convert download property to integer ID
}
$this->addons = 'no';
if (empty($Item->addons) || !is_array($Item->addons)) {
return true;
}
$addons = array();
// Create meta records for any addons
foreach ((array) $Item->addons as $i => $Addon) {
$Download = false;
$Meta = new ShoppMetaObject(array('parent' => $this->id, 'context' => 'purchased', 'type' => 'meta', 'name' => $Addon->label));
$Meta->context = 'purchased';
$Meta->type = 'addon';
$Meta->name = $Addon->label;
$Meta->numeral = $Addon->unitprice;
// Add a meta record to the purchased line item for an addon download
if (!empty($Addon->download)) {
$hash = array($this->name, $Addon->label, $this->purchase, $this->product, $this->price, $i, time());
$Addon->dkey = sha1(join('', $hash));
$Download = new ShoppMetaObject(array('parent' => $this->id, 'context' => 'purchased', 'type' => 'download', 'name' => $Addon->dkey));
$Download->context = 'purchased';
$Download->type = 'download';
$Download->name = $Addon->dkey;
$Download->value = $Addon->download;
}
$Meta->value = serialize($Addon);
$addons[] = $Meta;
if ($Download !== false) {
$addons[] = $Download;
}
}
$this->addons = $addons;
}