예제 #1
0
 public function formatAddress(Varien_Object $address, $html = false)
 {
     $address->getRegion();
     $address->getCountry();
     $template = $this->getData('address_template_' . ($html ? 'html' : 'plain'));
     if (empty($template)) {
         if (!$this->getId()) {
             $template = '{{firstname}} {{lastname}}';
         } elseif (!$html) {
             $template = "{{firstname}} {{lastname}}\n{{company}}\n{{street1}}\n{{street2}}\n{{city}}, {{region}} {{postcode}}";
         } else {
             $template = "{{firstname}} {{lastname}}<br/>\n{{street}}<br/>\n{{city}}, {{region}} {{postcode}}<br/>\nT: {{telephone}}";
         }
     }
     $filter = new Varien_Filter_Template_Simple();
     $addressText = $filter->setData($address->getData())->filter($template);
     if ($html) {
         $addressText = preg_replace('#(<br\\s*/?>\\s*){2,}#im', '<br/>', $addressText);
     } else {
         $addressText = preg_replace('#(\\n\\s*){2,}#m', "\n", $addressText);
     }
     return $addressText;
 }
예제 #2
0
 public function getFilter()
 {
     $filter = new Varien_Filter_Template_Simple();
     $customer = Mage::getSingleton('customer/session')->getCustomer();
     if ($customer->getDefaultBillingAddress()) {
         foreach ($customer->getDefaultBillingAddress()->getData() as $key => $value) {
             $filter->setData($key, $value);
         }
     }
     $customer_data = $customer->getData();
     foreach ($customer_data as $key => $value) {
         $filter->setData($key, $value);
     }
     return $filter;
 }
예제 #3
0
	public function toHtml()
	{
		$html="";
		$customer = Mage::getSingleton('customer/session')->getCustomer();
		$filter = new Varien_Filter_Template_Simple();
		$filter->setData('firstname',$customer->getFirstname());
		$filter->setData('lastname',$customer->getLastname());
		$filter->setData('email',$customer->getEmail());
		
		// apply custom filter
		Mage::dispatchEvent('webforms_fields_tohtml_filter',array('filter'=>$filter));
		
		$field_id="field[".$this->getId()."]";
		$field_name = $field_id;
		$field_value = $filter->filter($this->getValue());
		$field_type = $this->getType();
		$field_class="input-text";
		if($this->getRequired())
			$field_class.=" required-entry";
		if($field_type == "email")
			$field_class.= " validate-email";
		if($field_type == "number")
			$field_class.= " validate-number";
		if($this->getCssClass()){
			$field_class.=' '.$this->getCssClass();
		}
		if($this->getCssStyle()){
			$field_style = $this->getCssStyle();
		}
		switch($field_type){
			case 'textarea': 
				$html = "<textarea name='$field_name' id='$field_id' class='$field_class' style='$field_style'>$field_value</textarea>";
				break;
			case 'select': 
				$options = explode("\n",$field_value);
				$html = "<select name='$field_name' id='$field_id' class='$field_class' style='$field_style'>";
				foreach($options as $option){
					if(trim($option))
						$html.= "<option value='$option'>$option</option>";
				}
				$html.="</select>";
				break;
			case 'select/radio':
				$options = explode("\n",$field_value);
				$html= "<ul style='padding:10px'>";
				$field_class=  $this->getCssClass();
				foreach($options as $i=>$option){
					if($this->getRequired() && $i==(count($options)-1)){
						$validate = "validate-one-required-by-name";
					}
					if(trim($option))
						$html.= "<li class='control'><input style='float:left' type='radio' name='".$field_name."[]' id='$field_id.$i' value='$option' class='radio $validate'/><label for='$field_id.$i' class='$field_class' style='$field_style'>$option</label></li>";
				}
				$html.="</ul>";
				break;
			case 'select/checkbox':
				$options = explode("\n",$field_value);
				$html= "<ul style='padding:10px'>";
				$field_class=  $this->getCssClass();
				foreach($options as $i=>$option){
					if($this->getRequired() && $i==(count($options)-1)){
						$validate = "validate-one-required-by-name";
					}
	
					if(trim($option))
						$html.= "<li class='control'><input style='float:left' type='checkbox' name='".$field_name."[]' id='$field_id.$i' value='$option' class='checkbox $validate'/><label for='$field_id.$i' class='$field_class' style='$field_style'>&nbsp;$option</label></li>";
				}
				$html.="</ul>";
				break;
			default: 
				$html ="<input type='text' name='$field_name' id='$field_id' class='$field_class' style='$field_style' value='$field_value'/>";
				break;
		}
		
		// apply custom field type
		Mage::dispatchEvent('webforms_fields_tohtml_html',array('field'=>$this,'html'=>$html));
		
		return $html;
	}
예제 #4
0
 public function getFilter()
 {
     $filter = new Varien_Filter_Template_Simple();
     $customer = Mage::getSingleton('customer/session')->getCustomer();
     if ($customer->getDefaultBillingAddress()) {
         foreach ($customer->getDefaultBillingAddress()->getData() as $key => $value) {
             $filter->setData($key, $value);
         }
     }
     $filter->setData('firstname', $customer->getFirstname());
     $filter->setData('lastname', $customer->getLastname());
     $filter->setData('email', $customer->getEmail());
     return $filter;
 }