0 Пользователей и 1 Гость просматривают эту тему.
  • 21 Ответов
  • 567 Просмотров
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
В принципе все работает и можно было оставить так, как есть, но мне кажется его можно улучшить:

Спойлер
[свернуть]

Все это должно превратиться в это:
Спойлер
[свернуть]
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

Aleks.Denezh

  • Практически профи
  • 2806
  • 377
Re: Создать массива или дроработать
« Ответ #1 : 03.08.2015, 10:19:22 »
В принципе все работает и можно было оставить так, как есть, но мне кажется его можно улучшить:
Спойлер
[свернуть]


Все это должно превратиться в это:
Как PHP код может превратиться в JS код? Может все это должно обрабатываться тем JS кодом который там полностью не выведен?
Как и не понятны подобные строки: "$use_wm1$use_yandex1$use_paypal1$use_moneybookers1$use_robox1$use_liqpay1$use_smscoin1$use_cbank1"
Не выведет ли это кучу раз одно и тоже?
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #2 : 03.08.2015, 11:14:41 »
Istaan
Простите за предыдущую беседу.
Спасибо, очень хорошо сократился код.
Код
"$use_wm1$use_yandex1$use_paypal1$use_moneybookers1$use_robox1$use_liqpay1$use_smscoin1$use_cbank1"
Подобный список мне тоже не очень нравиться.
Нет, не выводит:
Спойлер
[свернуть]
Проверил ваш вариант, не совсем верно он работает:
Спойлер
[свернуть]
Спойлер
[свернуть]
:o
« Последнее редактирование: 03.08.2015, 11:31:04 от leo78 »
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

Aleks.Denezh

  • Практически профи
  • 2806
  • 377
Re: Создать массива или дроработать
« Ответ #3 : 03.08.2015, 11:32:27 »
Если я правильно понимаю то что то типа этого
Спойлер
[свернуть]
Но мне тестировать неначем, может не работать! Просто приблизительно как можно сократить написал!

Мой вариант может неработать по нескольки причинам:
1. Код пишется в уме, и не отлаживается, нет целостности понимания что делает код
2. в строке $use_cbank1 = $params->get( 'use_rupay' ) == 0 ? '' : ' #cbank,'; ошибка вместо use_rupay должно быть use_cbank
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016
*

Aleks.Denezh

  • Практически профи
  • 2806
  • 377
Re: Создать массива или дроработать
« Ответ #4 : 03.08.2015, 11:37:10 »
Хотя правильно ли я понимаю, вам нужно если человек выбрал систему оплаты webmoney то все остальные системы скрываются? Если выбрал PayPal то все остальные системы скрываются!
Если так вам вообще не нужно ни строчки PHP кода и три строчки JS кода!
Если так! То удаляете весь PHP код
И делаете так:
для блоков которые отображают ваши платежные системы даете класс class="payments"
а дальше
$('.payments).hide();
$('#нужная_система').show();
PHP код нужен будет только для того что бы выводить или не выводить иконку включенной системы! Все!
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #5 : 03.08.2015, 11:45:17 »
Istaan
В том и дело 9 платежных систем, их можно выбрать в админ панели, включить все, или на собственный выбор, конечно не продумано если пользователь отключит их все но даётся выбор.
демонстрация
Массив не проще сделать?
Код
$selectors = array();
array_push($selectors, "#1");
array_push($selectors, "#2");
array_push($selectors, "#3");
echo implode(", ", $selectors); // "#1, #2, #3"
Только как потом выдергивать ненужный ID?
« Последнее редактирование: 03.08.2015, 12:01:21 от leo78 »
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #6 : 03.08.2015, 13:35:58 »
Такой  JS код был:
Спойлер
[свернуть]
Думал упростить его  >:(
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

Aleks.Denezh

  • Практически профи
  • 2806
  • 377
Re: Создать массива или дроработать
« Ответ #7 : 03.08.2015, 14:01:00 »
https://jsfiddle.net/Frisian/enwmps9o/35/
Как я и говорил все что вы делаете в PHP вам не нужно!
Я поправил ваш код там так как нужно делать!
Основа:
1. Ссылка: <a id="ammh1" style="margin:3px;" class="south" href="#wm" title="WebMoney"></a>
её заключить в
Код: php
<?php if($params->get('show_wm')): ?>
<a id="ammh1" style="margin:3px;" class="south" href="#wm" title="WebMoney"></a>
<?php endif; ?>

2. Блок с платежной системой должен быть в контейнере:
Код: php
<?php if($params->get('show_wm')): ?>
<div id="wm" class="amoney">
... тут платежная система
</div>
<?php endif; ?>
Класс у всех этих блоков должен быть amoney! ID должен быть тот что в href="#wm" (без решетки конено)

Дальше в JS код всего:
Код: javascript
jQuery(function($) {
    $(document).on('click', '.south', function(){
        $('.amoney').hide(); //скрываем все блоки с классом amoney
        $($(this).attr('href')).slideDown(500); //отображаем блок с id которой пришол у нас из аттрибута href текущей ссылки
        return false;
    });
});

Все! Вот ту порнографию что вы писали удалить, она не нужна! Добавлять можно неограниченное количество блоков...
« Последнее редактирование: 03.08.2015, 14:10:04 от Istaan »
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #8 : 03.08.2015, 14:13:32 »
Istaan
Так просто, класс, спасибо!
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #9 : 03.08.2015, 15:06:37 »
Istaan
Просто уточнить хотел, так все нормально.
Оставили случайно:
Код
.removeAttr('title');
Код
jQuery(function($) {
    $('#amoney').on('click', '.south', function(){
        $('#amoney .south.active').removeClass('active').removeAttr('title');
        $(this).addClass('active');
- оно Неправильно работает, удаляет но не возвращает.
у меня так работает
Код
jQuery(function($) {
    $('#amoney').on('click', '.south', function(){
     $('#amoney .south').removeClass('active');
     $(this).addClass('active');
    });
});
« Последнее редактирование: 03.08.2015, 15:10:30 от leo78 »
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

Aleks.Denezh

  • Практически профи
  • 2806
  • 377
Re: Создать массива или дроработать
« Ответ #10 : 03.08.2015, 15:24:16 »
ну я не знал что тот код делает по этому дописал ниже свой на https://jsfiddle.net/Frisian/enwmps9o/35/
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #11 : 03.08.2015, 16:00:24 »
Еще вопрос, что делать с этим:
Код
<a class="south" href="javascript:void(0);" style="margin:3px;text-decoration: none;" onclick="hide_all()" title="Скрыть все">Благодарность Автору</a>
Пишет ошибки:
Цитировать
Uncaught ReferenceError: hide_all is not definedonclick @ universal-module.html:314
jquery.min.js:2 Uncaught Error: Syntax error, unrecognized expression: javascript:void(0);

изменил на
Код
<a rel="nofollow" class="south hasTooltip active" style="margin:3px;text-decoration: none;" title="Скрыть все">Благодарность Автору</a>

https://jsfiddle.net/enwmps9o/36/

И править не чего особо не пришлось только изменил ссылки и все

А если поставить .toggle(500);
https://jsfiddle.net/enwmps9o/38/
« Последнее редактирование: 03.08.2015, 16:37:57 от leo78 »
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Re: Создать массива или дроработать
« Ответ #12 : 03.08.2015, 17:17:47 »
Я в предыдущей ваше теме отписывался, что могу сделать вообще без скриптов, как время будет. Задача у вас простая. Размеры кнопок фиксированные, высота выпадающего блока тоже.
Держите.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #13 : 03.08.2015, 17:24:50 »
Shustry
А убрать блок как?
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Re: Создать массива или дроработать
« Ответ #14 : 03.08.2015, 17:25:37 »
Какой блок убрать? У вас в примере ничего не убирается.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #15 : 03.08.2015, 18:02:11 »
Ладно пока буду ломать это
Код
<?php
$use_wm1 = $params->get( 'use_wm' ) == 0 ? '' : ' #wm,';
$use_rupay1 = $params->get( 'use_rupay' ) == 0 ? '' : '  #rupay,';
$use_yandex1 = $params->get( 'use_yandex' ) == 0 ? '' : ' #yandex,';
$use_paypal1 = $params->get( 'use_paypal' ) == 0 ? '' : ' #paypal,';
$use_moneybookers1 = $params->get( 'use_moneybookers' ) == 0 ? '' : '#moneybookers,';
$use_robox1 = $params->get( 'use_robox' ) == 0 ? '' : ' #robox,';
$use_liqpay1 = $params->get( 'use_liqpay' ) == 0 ? '' : ' #liqpay,';
$use_smscoin1 = $params->get( 'use_smscoin' ) == 0 ? '' : ' #smscoin,';
$use_cbank1 = $params->get( 'use_cbank' ) == 0 ? '' : ' #cbank,';

$hideall = trim( rtrim( "$use_wm1$use_rupay1$use_yandex1$use_paypal1$use_moneybookers1$use_robox1$use_liqpay1$use_smscoin1$use_cbank1", "," ), ' ' );
$payments = array(
   'wm' => trim( rtrim( "$use_rupay1$use_yandex1$use_paypal1$use_moneybookers1$use_robox1$use_liqpay1$use_smscoin1$use_cbank1", "," ), ' ' ),
   'rupay' => trim( rtrim( "$use_wm1$use_yandex1$use_paypal1$use_moneybookers1$use_robox1$use_liqpay1$use_smscoin1$use_cbank1", "," ), ' ' ),
   'yandex' => trim( rtrim( "$use_wm1$use_rupay1$use_paypal1$use_moneybookers1$use_robox1$use_liqpay1$use_smscoin1$use_cbank1", "," ), ' ' ),
   'paypal' => trim( rtrim( "$use_wm1$use_rupay1$use_yandex1$use_moneybookers1$use_robox1$use_liqpay1$use_smscoin1$use_cbank1", "," ), ' ' ),
   'moneybookers' => trim( rtrim( "$use_wm1$use_rupay1$use_yandex1$use_paypal1$use_robox1$use_liqpay1$use_smscoin1$use_cbank1", "," ), ' ' ),
   'robox' => trim( rtrim( "$use_wm1$use_rupay1$use_yandex1$use_paypal1$use_moneybookers1$use_liqpay1$use_smscoin1$use_cbank1", "," ), ' ' ),
   'liqpay' => trim( rtrim( "$use_wm1$use_rupay1$use_yandex1$use_paypal1$use_moneybookers1$use_robox1$use_smscoin1$use_cbank1", "," ), ' ' ),
   'smscoin' => trim( rtrim( "$use_wm1$use_rupay1$use_yandex1$use_paypal1$use_moneybookers1$use_robox1$use_liqpay1$use_cbank1", "," ), ' ' ),
   'cbank' => trim( rtrim( "$use_wm1$use_rupay1$use_yandex1$use_paypal1$use_moneybookers1$use_robox1$use_liqpay1$use_smscoin1", "," ), ' ' )
);
?>
<script>
   (function ($) {
      <?php foreach($payments as $payment => $value): ?>
         <?php if($params->get('use_' . $payment)): ?>
            this.show_<?php echo $payment; ?> = function () {
               $('<?php echo $value; ?>').hide();
               $('#<?php echo $payment; ?>').<?php echo $jfadtogquery;?>;
               return false;
            };
         <?php endif; ?>
      <?php endforeach; ?>
      this.hide_all = function () {
         $('<?php echo $hideall; ?>').hide();
         return false;
      }
   })(jQuery);
   <?php if ($jammfadtogquery1 == 1): ?>
   jQuery(function ($) {
      $('#amoney').on('click', '.south', function () {
         $('#amoney .south').removeClass('active');
         $(this).addClass('active');
      });
   });
   <?php endif; ?>
</script>

правда не работает
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #16 : 03.08.2015, 18:34:13 »
Istaan
брать из массива нашел как
Код
<?php

$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!

?>
Спойлер
[свернуть]

Код
echo $payments['wm'];

 *DRINK*
« Последнее редактирование: 03.08.2015, 18:49:23 от leo78 »
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

Aleks.Denezh

  • Практически профи
  • 2806
  • 377
Re: Создать массива или дроработать
« Ответ #17 : 03.08.2015, 20:58:58 »
Не понял, зачем вам то если я показал рабочий пример без этой ненужной простыни на PHP!
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #18 : 03.08.2015, 21:25:58 »
Ваш пример:
https://jsfiddle.net/Frisian/enwmps9o/35/
мой:
http://jsfiddle.net/enwmps9o/40/
Разница в том, что нажимая повторно на кнопку нечего не происходит, в вашем примере оно открывается сколько не нажимай. 
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
*

Aleks.Denezh

  • Практически профи
  • 2806
  • 377
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Re: Создать массива или дроработать
« Ответ #20 : 03.08.2015, 21:56:57 »
Так?

https://jsfiddle.net/Shustry/f5o6hcw4/1/

Код: javascript
jQuery(function($) {
    $('.south').each(function(idx, el){
        $(this).on('click', function(){
            if ($(this).hasClass('active')) {
               return false;
            } else {
                $(this).addClass('active').siblings().removeClass('active');
                $('.amoney').eq(idx-1).slideDown(500).siblings('.amoney').hide();
            }
        });
    });
});
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

leo78

  • Живу я здесь
  • 922
  • 51
  • I left from paradise!?...
Re: Создать массива или дроработать
« Ответ #21 : 03.08.2015, 22:28:54 »
Istaan, Shustry
надо подумать, слишком много информации  >:(
« Последнее редактирование: 04.08.2015, 01:53:30 от leo78 »
Хотите, чтоб вам дали, так дайте, нам в начале. Ну, а если нет...
То физкультпривет! И до свиданье, до новых встреч и ручкой на прощанье!

Благодарности принимаются круглосуточно: Z957282423806 | R045187244064 | U207811153699
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как создать модуль PayMaster ?

Автор tsinchugova

Ответов: 0
Просмотров: 717
Последний ответ 27.11.2013, 07:18:44
от tsinchugova
Как создать поле типа "sql" для Joomla 2.5

Автор tasknet

Ответов: 9
Просмотров: 2466
Последний ответ 15.05.2012, 17:36:45
от SDKiller
Как создать zip архив средствами Joomla API

Автор tasknet

Ответов: 14
Просмотров: 3473
Последний ответ 06.01.2012, 12:54:55
от Фей
Как создать установочный .xml файл для компонента

Автор swordholder

Ответов: 4
Просмотров: 2086
Последний ответ 17.03.2011, 03:09:31
от Ortnox