ncplaylist.phtml
5.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<!--/**
* wird geladen wenn der eingabetyp @see @anc_image_eingabetyp genutzt wird
* @package anc_playlist
* @since 20140812
* @author netz.coop eG*
*/
-->
<?php
/**
* @input
*/
$NcPlaylistId = $this->getNcPlaylistId() ;
/**
* @input
*/
$AncPlaylistInputId = $this->getAncPlaylistInputId();
$ItemInfos = Mage::helper('anc_lib/data')->getCheckoutCartItemInfos();
if($NcPlaylistId) {
$NcPlaylist = Mage::helper('anc_playlist/ncmodel')->getNcPlaylist($NcPlaylistId);
if(is_object($NcPlaylist)) {
$ChoosedNcAlbumId = $NcPlaylist->getNcalbumId();
}
}
?>
<div class="ancimage-customer_galleries anc-menu-box">
<div class="ancimage-customer_galleries-header anc-menu-box-header">QR Code</div>
<div id="accordion" class="anc-menu-box-content">
<h3 class="anc-menu-box-content-subheader">Playlist</h3>
<div class="anc-menu-box-content-subcontent">
<?php $ncplaylist_ncalbums = Mage::helper('anc_album/ncmodel')->getAllPlaylistNcAlbums(); ?>
<?php if(is_array($ncplaylist_ncalbums) && !empty($ncplaylist_ncalbums)): ?>
<div id="ncplaylist_ncalbums">
<li data-ncalbum_id=""
title="<?php echo $ncalbum['comment']; ?>"
<?php if($ChoosedNcAlbumId === $ncalbum['entity_id']):?>class="ui-selected"<?php endif; ?>
>
keine Playlist ausgewählt
</li>
<?php foreach ($ncplaylist_ncalbums as $ncalbum): ?>
<li data-ncalbum_id="<?php echo $ncalbum['entity_id'] ?>"
title="<?php echo $ncalbum['comment']; ?>"
<?php if($ChoosedNcAlbumId === $ncalbum['entity_id']):?>class="ui-selected"<?php endif; ?>
>
<?php echo $ncalbum['name'] ?>
</li>
<?php endforeach; ?>
</div>
<div id="ncplaylist_preview">
</div>
<?php endif; ?>
</div>
</div>
</div>
<script type="text/javascript">
/**
* initial Vorschau der playlist, falls schon eine playlist exisitert!
*/
jQuery(document).ready(function(jQuery) {
<?php if($ChoosedNcAlbumId): ?>
loadNcPlaylistPreview(<?php echo $ChoosedNcAlbumId; ?>);
<?php endif; ?>
});
/**
* wenn eine playlist (ncalbum) ausgewählt worden ist
*/
jQuery('#ncplaylist_ncalbums').selectable({
selected: function(typ, ui) {
loadNcPlaylistPreview(ui.selected.dataset['ncalbum_id']);
}
});
function ajax_editplaylist(ncalbum_id, ifredirectAfterSubmit, data, url, backurl) {
var ajax_editplaylist_data = {
url: '<?php echo Mage::getUrl('playlist/site/editplaylist',array('item_id' => $ItemInfos['item_id'])); ?>ncalbum_id/'+ncalbum_id+'/',
success : function(data, textStatus, jqXhr) {
var parseddata = jQuery.parseJSON( data );
jQuery("#<?php echo $AncPlaylistInputId; ?>").attr('value',parseddata.ncplaylist_id);
if(ifredirectAfterSubmit) {
redirectAfterSubmit(data, url, backurl);
}
}
};
jQuery.ajax(ajax_editplaylist_data);
}
/**
* wird beim speicher button, derzeit leider noch aus
* ancprintconfigproduct/default/template/catalog/product/view/options/wrapper/bottom.phtml
* aufgerufen
*
* @param {type} data
* @param {type} url
* @param {type} backurl
* @returns {undefined}
*/
function redirectAfterSubmitAfterSavePlaylist(data, url, backurl) {
var ncalbum_id = jQuery('#ncplaylist_ncalbums > .ui-selected').data('ncalbum_id');
var ncplaylist_id = jQuery("#<?php echo $AncPlaylistInputId; ?>").attr('value');
// wenn es noch keine playlist gibt, dann erstelle und speicher
if(!ncplaylist_id && ncalbum_id) {
ajax_editplaylist(ncalbum_id, true, data, url, backurl);
}
// wenn es eine gibt, aber diese nicht mehr gewollt ist, setze null und speicher
else if(ncplaylist_id && !ncalbum_id) {
jQuery("#<?php echo $AncPlaylistInputId; ?>").attr('value','');
redirectAfterSubmit(data, url, backurl);
}
// ansonsten update playlist und speicher
else {
ajax_editplaylist(ncalbum_id, true, data, url, backurl);
}
// redirectAfterSubmit(data, url, backurl);
}
function loadNcPlaylistPreview(param_ncalbum_id, param_loadparam) {
if(param_ncalbum_id) {
// zeige vorschau und ruf die rekursiv auf, damit in der playlist vorschau die buttons funktionieren
jQuery('#ncplaylist_preview').load(
'<?php echo Mage::getUrl('playlist/site/showplaylist',array()); ?>ncalbum_id/'+param_ncalbum_id+'/'+param_loadparam,
function() {
jQuery(document).ready(function($) {
jQuery('#ancplaylist_back').unbind("click").click(function(e){
e.preventDefault();
loadNcPlaylistPreview(param_ncalbum_id, '?show=back');
});
jQuery('#ancplaylist_next').unbind("click").click(function(e){
e.preventDefault();
loadNcPlaylistPreview(param_ncalbum_id, '?show=next');
});
});
}
);
// wenn schon eine playliste exisitert, dann aktualisiere sie auch
if(jQuery("#<?php echo $AncPlaylistInputId; ?>").attr('value')) {
jQuery('#ancnote-id').html('');
ajax_editplaylist(param_ncalbum_id, false);
}
// falls keine existiert, dann gib ne meldung das nach dem speichern eine existiert
else {
jQuery('#ancnote-id').html('<div class="anc-success">Sie können nach dem Übernehmen der Einstelungen mit Ihrem Smartphone den Qr-Code einscannen und sich Ihre mobile Internetseite ansehen.</div>');
}
} else {
jQuery('#ncplaylist_preview').html('');
}
}
</script>