PDA

Zobacz pełną wersję : Sobi2+płatna galeria



tix
29-10-2009, 00:56
Witam
Padam po kilku dniach meczarni z dodatkiem "gallery" pod sobi2. Chcialbym zeby zaznaczenie galerii bylo platne, tak jak jest tutaj http://www.mayoplus.ie/index.php?option=com_sobi2&sobi2Task=addNew&Itemid=79
Pytalem w supporcie Sobi, ale ten kod ktory podali i opis jak to zrobic, wogole u mnie nie dziala. Czy ktos ma jakies sugestie lub jakos poradzil z tym? Prosze o odpowiedz :(

Jola
29-10-2009, 04:58
A możesz udostępnić to, co dostałeś w odpowiedzi. Mogę sprawdzić.

tix
29-10-2009, 17:00
Tutaj: http://www.sigsiu.net/forum/index.php/topic,2733.msg37551.html#msg37551

Jola
29-10-2009, 20:53
1. Instalujemy plugin Gallery
2. Konfiguracja-> Menadżer pól->Dodaj nowe:
Nazwa pola: field_gallery_paid
Typ pola: checkbox
Bezpłatne: nie
Opłata: 30 (np)
Wyświetl dane w: Ukryty
2.Szablony i CSS->Szablon formularza edycji->Użyj szablonu zamiast standardowej funkcji: tak
W edytorze do szablonu sobi2.form.tmpl.php dodać kod wg forum sigsiu.net
U góry:

defined( '_SOBI2_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() );

/* ------------------------------------------------------------------------------
* This is an example template for the Entry Form
* ------------------------------------------------------------------------------
*/
?>
<style type="text/css">
<!--
.imggallery {
visibility: visible;
position: relative;
display:none;
}
-->
</style>
<script language="JavaScript" type="text/javascript">
<!--
function toggleLayer( whichLayer )
{
var elem, vis;
if( document.getElementById ) // this is the way the standards work
elem = document.getElementById( whichLayer );
else if( document.all ) // this is the way old msie versions work
elem = document.all[whichLayer];
else if( document.layers ) // this is the way nn4 works
elem = document.layers[whichLayer];
vis = elem.style;
// if the style.display value is blank we try to figure it out here
if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
vis.display = (vis.display==''||vis.display=='block')?'none':'bl ock';
}
// -->
</script>
<?php a w wybranym miejscu dodać:

<table><tbody>
<tr>
<td><input name="field_gallery_paid" id="field_gallery_paid" value="" onmouseup="javascript:toggleLayer('standardpack');" onclick="if(this.checked) {
field_gallery.selectedIndex = 1;
field_gallery.disabled = false
}
else {
field_gallery.selectedIndex = 0;
field_gallery.disabled = true
}" type="checkbox" />
<label class="field_gallery" for="field_gallery_paid" onmouseup="javascript:toggleLayer('standardpack');">Add Gallery</label></td>
<td rowspan="2"><div class="imggallery" id="standardpack">
<table>
<tr>
<td>Please <strong>confirm</strong> &quot;Gallery&quot; selection

<?php echo $fields['field_gallery']['field']; ?> </td>
</tr>
<tr>
<td><?php echo $fields['sobi_gallery_plugin']['field']; ?></td>
</tr>
</table>
</div></td>
</tr></tbody>
</table>U mnie działa - "sprawdzone na szybko".
Edit - niestety nie zapisuje się płatność.
To będę rozgryzać w wolnej chwili :)

tix
29-10-2009, 21:55
Jak łoś robię 5x to samo i dalej nic :( Zrobilem twoja instrukcje, to samo... galeria sie wyswietla osobno (wyzej i jest input do dodania zdjec itp), natomiast po zaznaczeniu tej opcji nowej nie dzieje sie nic, czyli dalej to samo ;/ moze mam jakas zbyt nowa wersje gallery plug albo sobi? nie rozumiem.. moze cos z opera? na FF jest tak samo ;/

Jola
29-10-2009, 21:59
"galeria sie wyswietla osobno (wyzej i jest input do dodania zdjec itp), natomiast po zaznaczeniu tej opcji nowej nie dzieje sie nic, czyli dalej to samo" - coś nie za bardzo rozumiem. Jaśniej proszę. Korzystasz z szablonu formularza?

tix
29-10-2009, 22:55
Oto o co mi chodzi:
http://www.sigsiu.net/forum/index.php?action=dlattach;topic=2733.0;attach=6606 ;image
Tyle, ze na obrazku pole (field) bylo ustawione nie na checkbox jak napisałaś, tylko na select list, natomiast i tak nie widac roznicy, bo ani jedno ani drugie nie działa - po wyborze opcji "dodaj fotki" powinna wyskoczyc galeria, ktora tutaj na zdjeciu widoczna jest wyzej normalnie...
Tak, korzystam z szablonu formularza. Do form mam standardowy template, a do v-card,details mam advanced template 2 (ta templatka nie posiada templatki "form"), ale to nie ma znaczenia, bo ustawilem wszystko jak mowisz i nic ;/

Jola
30-10-2009, 01:01
Możesz wrzucić tutaj ten szablon formularza?

tix
30-10-2009, 12:04
<?php
/*please do not remove this line */
defined( '_SOBI2_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() );

/* ------------------------------------------------------------------------------
* This is an example template for the Entry Form
* ------------------------------------------------------------------------------
*/
?>
<style type="text/css">
<!--
.imggallery {
visibility: visible;
position: relative;
display:none;
}
-->
</style>
<script language="JavaScript" type="text/javascript">
<!--
function toggleLayer( whichLayer )
{
var elem, vis;
if( document.getElementById ) // this is the way the standards work
elem = document.getElementById( whichLayer );
else if( document.all ) // this is the way old msie versions work
elem = document.all[whichLayer];
else if( document.layers ) // this is the way nn4 works
elem = document.layers[whichLayer];
vis = elem.style;
// if the style.display value is blank we try to figure it out here
if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
vis.display = (vis.display==''||vis.display=='block')?'none':'bl ock';
}
// -->
</script>
<?php

/* ------------------------------------------------------------------------------
* Here are several standard free fields
* ------------------------------------------------------------------------------
*/
?>
<?php echo $screenTitle; ?>
<?php echo $requiredFieldsInfo; ?>
<?php echo $fields['EntryName']['label']; ?><?php echo $fields['EntryName']['field']; ?><br/>
<?php echo $fields['field_street']['label']; ?><?php echo $fields['field_street']['field']; ?><br/>
<?php echo $fields['field_postcode']['label']; ?><?php echo $fields['field_postcode']['field']; ?><br/>
<?php echo $fields['field_city']['label']; ?> <?php echo $fields['field_city']['field']; ?><br/>
<?php echo $fields['field_county']['label']; ?> <?php echo $fields['field_county']['field']; ?><br/>
<?php echo $fields['field_federal_state']['label']; ?> <?php echo $fields['field_federal_state']['field']; ?

><br/>
<?php echo $fields['field_country']['label']; ?> <?php echo $fields['field_country']['field']; ?><br/>
<?php echo $fields['field_email']['label']; ?> <?php echo $fields['field_email']['field']; ?><br/>

<?php
/* ------------------------------------------------------------------------------
* But if these are not free fields
* @example these informations are in the following variables:
* $fields['field_fieldname']['payment']['box'] - is the checkbox to activate the target field
* $fields['field_fieldname']['payment']['box_label'] - is the label of this checkbox. A text like "add website"
* $fields['field_fieldname']['payment']['explanation'] - explanation text. Something like "This option is not

for free. It costs: 20$"
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['field_website']['payment']['box']; ?>
<?php echo $fields['field_website']['payment']['box_label']; ?><br/>
<?php echo $fields['field_website']['payment']['explanation']; ?>
<?php echo $fields['field_website']['label']; ?> <?php echo $fields['field_website']['field']; ?><br/>

<?php
/** ------------------------------------------------------------------------------
* Of course You can add the additional payment infos to all fields.
* If the field is for free, nothing will be shown.
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['field_contact_person']['payment']['box']; ?>
<?php echo $fields['field_contact_person']['payment']['box_label']; ?><br/>
<?php echo $fields['field_contact_person']['payment']['explanation']; ?>
<?php echo $fields['field_contact_person']['label']; ?> <?php echo $fields['field_contact_person']['field'];

?><br/>

<?php echo $fields['field_phone']['payment']['box']; ?>
<?php echo $fields['field_phone']['payment']['box_label']; ?><br/>
<?php echo $fields['field_phone']['payment']['explanation']; ?>
<?php echo $fields['field_phone']['label']; ?> <?php echo $fields['field_phone']['field']; ?><br/>

<?php echo $fields['field_fax']['payment']['box']; ?>
<?php echo $fields['field_fax']['payment']['box_label']; ?><br/>
<?php echo $fields['field_fax']['payment']['explanation']; ?>
<?php echo $fields['field_fax']['label']; ?> <?php echo $fields['field_fax']['field']; ?><br/>

<?php echo $fields['field_hotline']['payment']['box']; ?>
<?php echo $fields['field_hotline']['payment']['box_label']; ?><br/>
<?php echo $fields['field_hotline']['payment']['explanation']; ?>
<?php echo $fields['field_hotline']['label']; ?> <?php echo $fields['field_hotline']['field']; ?><br/>

<?php echo $fields['field_description']['payment']['box']; ?>
<?php echo $fields['field_description']['payment']['box_label']; ?><br/>
<?php echo $fields['field_description']['payment']['explanation']; ?>
<?php echo $fields['field_description']['label']; ?> <?php echo $fields['field_description']['field']; ?><br/>



<?php
/* ------------------------------------------------------------------------------
* Now several special SOBI2 fields
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['Metakeys']['label']; ?><?php echo $fields['Metakeys']['field']; ?><br/>
<?php echo $fields['MetaDesc']['label']; ?><?php echo $fields['MetaDesc']['field']; ?><br/>

<?php
/* ------------------------------------------------------------------------------
* The Image/Icon fields and the background chooser are splitted in two fields. One is the input field, the

other is an already existing image
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['ExistingImg']['label']; ?><?php echo $fields['ExistingImg']['field']; ?><br/>
<?php echo $fields['ImgField']['payment']['box']; ?>
<?php echo $fields['ImgField']['payment']['box_label']; ?><br/>
<?php echo $fields['ImgField']['payment']['explanation']; ?>
<?php echo $fields['ImgField']['label']; ?> <?php echo $fields['ImgField']['field']; ?><br/>

<?php echo $fields['ExistingIco']['label']; ?><?php echo $fields['ExistingIco']['field']; ?><br/>
<?php echo $fields['IcoField']['payment']['box']; ?>
<?php echo $fields['IcoField']['payment']['box_label']; ?><br/>
<?php echo $fields['IcoField']['payment']['explanation']; ?>
<?php echo $fields['IcoField']['label']; ?> <?php echo $fields['IcoField']['field']; ?><br/>

<?php echo $fields['BackgroundChooser']['label']; ?><?php echo $fields['BackgroundChooser']['field']; ?

><br/>
<?php echo $fields['BackgroundPreview']['label']; ?><?php echo $fields['BackgroundPreview']['field']; ?

><br/>
<table><tbody>
<tr>
<td><input name="field_gallery_paid" id="field_gallery_paid" value="" onmouseup="javascript:toggleLayer('standardpack');" onclick="if(this.checked) {
field_gallery.selectedIndex = 1;
field_gallery.disabled = false
}
else {
field_gallery.selectedIndex = 0;
field_gallery.disabled = true
}" type="checkbox" />
<label class="field_gallery" for="field_gallery_paid" onmouseup="javascript:toggleLayer('standardpack');">Add Gallery</label></td>
<td rowspan="2"><div class="imggallery" id="standardpack">
<table>
<tr>
<td>Please <strong>confirm</strong> &quot;Gallery&quot; selection

<?php echo $fields['field_gallery']['field']; ?> </td>
</tr>
<tr>
<td><?php echo $fields['sobi_gallery_plugin']['field']; ?></td>
</tr>
</table>
</div></td>
</tr></tbody>
</table>
<?php
/* ------------------------------------------------------------------------------
* Let's show the category chooser now
* ------------------------------------------------------------------------------
*/
?>
<?php echo $catChooser; ?>

<?php
/* ------------------------------------------------------------------------------
* Safety code is splitted in two fields too
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['SafetyCodeImage']['label']; ?><?php echo $fields['SafetyCodeImage']['field']; ?><br/>
<?php echo $fields['SafetyCodeField']['label']; ?><?php echo $fields['SafetyCodeField']['field']; ?><br/>

<?php
/* ------------------------------------------------------------------------------
* At least the entry rules confirmation (has to be in a div container with id="accept_rules_row")
* ------------------------------------------------------------------------------
*/
?>
<div id="accept_rules_row">
<?php echo $fields['EntryRules']['label']; ?><?php echo $fields['EntryRules']['field']; ?>
</div>

<?php
/* ------------------------------------------------------------------------------
* And of course the buttons
* ------------------------------------------------------------------------------
*/
?>
<?php echo $cancelButton; ?>
<?php echo $sendButton; ?><br/>

Jola
30-10-2009, 17:29
Trochę popsułeś szablon poprzez rozdzielanie ?> enterem. Poprawiony w załączniku.

tix
30-10-2009, 22:48
Ok, ale nic to nie daje, nie pojawia mi sie galeria, tylko jest widoczna osobno, tak jak w zalaczniku moim, moze cos z tym skryptem nie tak? Nie rozumiem tego... :(

Jola
30-10-2009, 23:44
Specjalnie sprawdziłam Twój (poprawiony) szablon na czystej instalacji Sobi2 - wszystko działa, tak jak na poprzedniej wersji. Musisz mieć jakieś błędy js na stronie (niestety nie wyświetlają się) lub inny skrypt "gryzie" się z tą modyfikacją.
Dodane:
Możesz podać adres strony?

Jola
03-11-2009, 21:04
Tutaj (http://forum.joomla.pl/showthread.php?t=33405) podałam kompletne (mam nadzieję) rozwiązanie.

tix
03-11-2009, 21:11
Dziękuje, jestes genialna!! :D