anctext.phtml 12.9 KB
<?php
/**
 * 
 * @var $this anc_text/catalog_product_view_options_type_anctext
 * 
 * @package	anc_text 
 * @anc_text_eingabetyp -- Formular bzw ansicht im Frontend im Warenkorb beim Produkt konfigurieren
 * @copy Grundlage: Magento18/app/design/frontend/base/default/template/catalog/product/view/options/type/text.phtml 
 * @since	20140416 
 * @author	netz.coop eG* 
 */
?>
<?php $DropzoneIndex = Mage::helper('anc_lib/data')->getElementIndexForId(); ?>
<?php $dropzone_id = 'anctext-dropzone-id' . $DropzoneIndex; ?> 
<?php $ancnote_id = 'ancnote-id'; ?>
<?php $_option = $this->getOption(); ?>
<?php
$input_id = 'options_' . $_option->getId() . '_text';

/**
 * @input 
 */
$NcTextId = $this->getNcTextId();
/**
 * @input 
 */
$AncTextInputId = $this->getAncTextInputId();
?> 


<script type="text/javascript">
	tinymce.init({
		selector: "textarea",
		toolbar: "undo redo | bold italic | fontselect fontsizeselect forecolor | selectall removeformat | code | spellchecker ", //backcolor
		menu: {// this is the complete default configuration
////        file   : {title : 'File'  , items : 'newdocument'},
//        edit   : {title : 'Edit'  , items : 'undo redo | cut copy paste pastetext | selectall'},
////        insert : {title : 'Insert', items : 'link media | template hr'},
////        view   : {title : 'View'  , items : 'visualaid'},
//        format : {title : 'Format', items : 'bold italic  removeformat'}, // underline strikethrough superscript subscript | formats | removeformat
////        table  : {title : 'Table' , items : 'inserttable tableprops deletetable | cell row column'},
//        tools  : {title : 'Tools' , items : 'spellchecker code'},
//		tools  : {title : 'Tools' , items : 'spellchecker'},
			platzhalter: {title: 'Platzhalter', items: 'vorname nachname strasse plz ort land anrede titel firma ansprache adresse variable1 variable2 variable3 variable4 variable5 variable6 variable7 variable8 variable9 variable10 variable11 variable12 variable13 variable14 variable15 variable16 variable17 variable18 variable19 geburtsdatum alter unterschrift'}
		},
//	valid_elements: "p,strong,em,span",
//	oninit : "setPlainText",
//		plugins: "code,textcolor,platzhalter,spellchecker,paste",
		plugins: "code,textcolor,platzhalter,spellchecker",
		paste_as_text: true,
//			paste_text_sticky : true,
//			setup : function(ed) {
//				ed.onInit.add(function(ed) {
//				  ed.pasteAsPlainText = true;
//				});
//			  },


		formats: {
//		bold : {block : 'span', styles:{'font-weight':'bold'} }, //'classes' : 'bold'
//		italic : {block : 'span', styles:{'font-style':'italic'} },
//		forecolor : {block : 'span',  styles : {fill : '%value',color:'%value'}},
//		forecolor : {inline : 'span', classes : 'forecolor', styles : {fill : '%value',color:'%value'}},
//		hilitecolor : {block : 'rect', classes : 'hilitecolor', styles : {fill : '%value', 'stroke-opacity' : 1,'fill-rule':'evenodd'},attributes : {'width':'10','height':'10' } },
//		fontname: {block : 'span', styles:{'font-family':'%value'} },
//		fontsize: {block : 'span', styles:{'font-size':'%value'} },
//		hilitecolor : {inline : 'span', classes : 'hilitecolor', styles : {fill : '%value', backgroundColor : '%value'}},
//		bold : {inline : 'span', 'classes' : 'bold'},
//        italic : {inline : 'span', 'classes' : 'italic'},
//		bold : {inline : 'span', styles:{ 'font-weight':'bold'}},
//        italic : {inline : 'span', styles:{ 'font-style':'italic'}},
		},
		fontsize_formats: "8 9 10 11 12 13 14 15 20 30 40 50 75 90 100 110 120 140 160",
//		theme_advanced_font_sizes: "10px,12px,13px",//14px,16px,18px,20px",
//		font_size_style_values: "12px,13px,14px,16px,18px,20px",
		font_formats: "Arial=arial;Comic Sans MS=comic sans ms;Courier New=courier new,courier;Georgia=georgia;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times;Verdana=verdana,geneva;",
		setup: function(editor) {
			editor.addButton('platzhalter', {
				text: 'Platzhalter',
				icon: false,
				onclick: function() {
					editor.execCommand('mceTableInsertRowAfter', false, editor);
				}
			});
		}

	});

</script>

<?php // D::ulli('$_option->getId():'.$_option->getId().' ',1,1);?>
<div class="anctext-anctext anc-productview">
	<script type="text/javascript">
		
		function loadNcTextIntoProductGalleryThumbnailButton() {
			jQuery('.anc_text_choose').unbind("click").click(function(e) {
				e.preventDefault();
				ajax_gettextinfo(jQuery(this).data('anc_text_id'));
//				Anc_Text_Type.loadTextInto(
//						jQuery(this).data('anc_text_id'),
//						jQuery(this).data('anc_text_url'),
//						jQuery(this).data('anc_admin_id'),
//						jQuery(this).data('ncalbum_id'),
//						jQuery(this).data('anc_customer_id'),
//						jQuery(this).data('used_byitem_id'),
//						jQuery(this).data('ordered'),
//						jQuery(this).data('anc_text_content'),
//						jQuery('#<?php echo $input_id; ?>'),
//						jQuery('#<?php echo 'anc_text_id'; ?>'),
//						jQuery('#<?php echo 'anc_admin_id'; ?>'),
//						jQuery('#<?php echo 'ncalbum_id'; ?>'),
//						jQuery('#<?php echo 'anc_customer_id'; ?>'),
//						jQuery('#<?php echo 'used_byitem_id'; ?>'),
//						jQuery('#<?php echo 'ordered'; ?>'),
//						jQuery('#<?php echo $dropzone_id; ?>')
//						);
			});
		}
	</script>



	<div class="anctext_type anc-productview-type" id="<?php echo $_option->getSku(); ?>">
		<div class="anctext_type-fakewrapper-text anc-productview-type-fakewrapper-text">
			<div id="<?php echo $ancnote_id; ?>"></div>

			<input type="hidden" onchange="opConfig.reloadPrice()" id="<?php echo $input_id ?>" class="input-text<?php echo $_option->getIsRequire() ? ' required-entry' : '' ?> <?php echo $_option->getMaxCharacters() ? ' validate-length maximum-length-' . $_option->getMaxCharacters() : '' ?> product-custom-option" name="options[<?php echo $_option->getId() ?>]" value="<?php echo $this->escapeHtml($this->getDefaultValue()) ?>" />
			<input type="hidden" onchange="opConfig.reloadPrice()" id="anc_text_id" data-info="toll" class="data-anc_text_id" name="data-anc_text_id_options[<?php echo $_option->getId() ?>]" value="<?php echo ''; ?>" />
			<input type="hidden" onchange="opConfig.reloadPrice()" id="anc_customer_id" class="data-anc_customer_id" name="data-anc_customer_id_options[<?php echo $_option->getId() ?>]" value="<?php echo ''; ?>" />
			 <input type="hidden" onchange="opConfig.reloadPrice()" id="anc_admin_id" class="data-anc_admin_id" name="data-anc_admin_id_options[<?php echo $_option->getId() ?>]" value="<?php echo ''; ?>" />
			 <input type="hidden" onchange="opConfig.reloadPrice()" id="ncalbum_id" class="data-ncalbum_id" name="data-anc_admin_id_options[<?php echo $_option->getId() ?>]" value="<?php echo ''; ?>" />
			 <input type="hidden" onchange="opConfig.reloadPrice()" id="used_byitem_id" class="data-used_byitem_id" name="data-used_byitem_id_options[<?php echo $_option->getId() ?>]" value="<?php echo ''; ?>" />
			<input type="hidden" onchange="opConfig.reloadPrice()" id="ordered" class="data-ordered" name="data-ordered_options[<?php echo $_option->getId() ?>]" value="<?php echo ''; ?>" />
			<div class="anctext-info">
				<div class="editor"></div>
				<div class="text"></div>					
			</div>


			<textarea   class="<?php echo $_option->getSku(); ?>" id="anctext-texteditorarea-id" rows='10' >
				<?php //  $Currentpageinfos = Mage::helper('anc_lib/data')->getCurrentcheckoutcartinfos(); ?>
				<?php //  $ItemInfos =  Mage::helper('anc_lib/data')->getCheckoutCartItemInfos(); echo 'Product'.$product. ' \n ';D::s($ItemInfos['item_product'],'ITEM'.$ItemInfos['item_id'],5,1,1);?>

			</textarea>

		</div>
	</div>

	<!-- Gallerien zum auswählen -->
	<?php $gallerie_dropzone_id = 'anctext-dropzone-id' . Mage::helper('anc_lib/data')->getElementIndexForId(); ?> 
	<div class="anctext_type-possibility anc-productview-possibility">
		<?php
		echo $this->getLayout()
				->getBlockSingleton('anc_text/galleriesmanager')
				->setTemplate('anc/text/customer_galleries.phtml')
				->setIfGalleryCategory(true)
				->setSelectorIdDropzoneOwn($gallerie_dropzone_id)
				->toHtml();
		?>
		<script type="text/javascript">
			jQuery(document).ready(function($) {
				// damit initialen laden der Gallerie auch die Thumbnail-Bilder-Button funktionieren
				loadNcTextIntoProductGalleryThumbnailButton();
			});
		</script>
	</div>
	<script type="text/javascript">
		


		function redirectAfterSubmitAfterSaveText(data, url, backurl) {

			var option_id = '<?php echo $_option->getId(); ?>'
			var ncalbum_id = jQuery('#ncalbum_id').attr('value');
			var ncinput_id = jQuery('#anc_text_id').attr('value');
			var nccustomerid = jQuery('#anc_customer_id').attr('value');
			var ncadmin_id = jQuery('#anc_admin_id').attr('value');
//		//used_byitem_id
			var used_byitem_id = jQuery('#used_byitem_id').attr('value');
			var ordered = jQuery('#ordered').attr('value');
			var varcontent = tinymce.get('anctext-texteditorarea-id').getContent();
////		var nctext_id = jQuery("#<?php // echo $AncTextInputId;  ?>").attr('value');
			console.log(jQuery(this));
			console.log('ncalbum_id: ' + ncalbum_id);
			console.log('ncinput_id: ' + ncinput_id);
			console.log('nccustomerid:' + nccustomerid);
			console.log('ncadmin_id: ' + ncadmin_id);
			console.log('used_byitem_id: ' + used_byitem_id);
			console.log('ordered: ' + ordered);
			console.log('option_id: ' + option_id);
			console.log('tiymce' + varcontent);

			ajax_edittexts(ncinput_id, option_id, ncalbum_id, nccustomerid, ncadmin_id, used_byitem_id, ordered, varcontent, true, data, url, backurl);



		}



		function ajax_edittexts(ncinput_id, option_id, ncalbum_id, nccustomerid, ncadmin_id, used_byitem_id, ordered, varcontent, ifredirectAfterSubmit, data, url, backurl) {
			var ajax_edittext_data = {
				url: "<?php echo Mage::getUrl('anctext/customer/savecustomertext'); ?>",
				method: 'Post',
				//			dataType:"json",
				data: {ncinput_id: ncinput_id, option_id: option_id, ncalbum_id: ncalbum_id, nccustomerid: nccustomerid, ncadmin_id: ncadmin_id, used_byitem_id: used_byitem_id, ordered: ordered, varcontent: varcontent},
				success: function(data, textStatus, jqXhr) {
					console.log(data);
					var parseddata = jQuery.parseJSON(data);
					console.log(parseddata);
					jQuery("#<?php echo $input_id; ?>").attr('value', parseddata.id);
					if (ifredirectAfterSubmit) {
						ajax_gettextinfo(parseddata.id)
						
											redirectAfterSubmit(data, url, backurl);
					}
					
				}
			};
			jQuery.ajax(ajax_edittext_data);

		}


		function ajax_gettextinfo(ncinput_id) {
			var ajax_edittext_data = {
				url: "<?php echo Mage::getUrl('anctext/customer/getcustomertextdata'); ?>",
				method: 'Post',
				data: {entity_id: ncinput_id},
				success: function(data, textStatus, jqXhr) {
					console.log(data);
					var parseddata = jQuery.parseJSON(data);
					console.log(parseddata);
					jQuery("#<?php echo $input_id; ?>").attr('value', parseddata.entity_id);
					jQuery("#anc_text_id").attr('value', parseddata.entity_id);
					jQuery("#anc_customer_id").attr('value', parseddata.customer_id);
					jQuery("#anc_admin_id").attr('value', parseddata.admin_user_id);
					jQuery("#ncalbum_id").attr('value', parseddata.ncalbum_id);
					jQuery("#used_byitem_id").attr('value', parseddata.used_byitem_id);
					jQuery("#ordered").attr('value', parseddata.ordered);
					if (typeof parseddata.content === "undefined" ||parseddata.content===null) { 
						parseddata.content=' ';
					}else{
						tinyMCE.activeEditor.setContent(parseddata.content);
					}
					
				}
			};
			console.log('data');
			jQuery.ajax(ajax_edittext_data);
		}



		jQuery(document).ready(function($) {
			var dropzone_params = {
				url: "<?php echo $this->getUrl('anctext/customer/uploadText', array()) ?>",
				dictDefaultMessage: 'Bild hochladen',
				success: function() {
					this.removeAllFiles();
				}
			}

			var gallery_ajaxData = {
				url: "<?php echo $this->getUrl('anctext/customer/gallerysimple', array()) ?>  ul.gallery",
				context: jQuery(".anctext-customer_galleriesown > .anctext-gallerie-content > .anctext-gallerie-content-view"),
				success: function(reponse) {
					// damit das hochgeladene Bild auch in der dropbopx angezeigt wird
					Anc_Text_Type.loadTextInto(
							reponse.id,
//							jQuery('#<?php // echo $_option->getSku();  ?> > dd > .input-box > input'), 
							jQuery('#<?php echo $input_id; ?>'),
							'<?php echo DS; ?>' + reponse.path,
							jQuery('#<?php echo "$dropzone_id"; ?>')
							);

					// damit nach hochladen eines bildes und darauf folgende reloaden der gallerie,
					// die (anderen) galleriebilder wieder in die dropbox geladen werden können				
					loadNcTextIntoProductGalleryThumbnailButton();

				},
			};

//			Anc_Text_Type.droppableFile(
//					jQuery(" #<?php echo $gallerie_dropzone_id; ?>"),
//					dropzone_params,
//					jQuery(" #<?php echo $input_id; ?>"),
//					jQuery(" #<?php echo $ancnote_id; ?>"),
//					gallery_ajaxData,
//					false
//					);

		});
		jQuery(document).ready(function(){
				ajax_gettextinfo(jQuery("#<?php echo $input_id ?>").attr('value'));
			});
	</script>		
</div>