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

SolopoV

  • Давно я тут
  • 573
  • 16 / 0
  • зеленею...
Будет ли работать такой код в list_shipping_methods.tpl.php или в get_shipping_method.tpl.php
Код
$dbf = new ps_DB;
$q = "SELECT shipping_carrier_id FROM #__{vm}_shipping_carrier WHERE shipping_carrier_id='".$d['shipping_carrier_id']."'";
$dbf->query($q);
$dbf->next_record();
if (($dbf->f("shipping_carrier_id")!='22') || ($dbf->f("shipping_carrier_id")!='6')) {

echo '<div class="small">Справочно о доставке курьером:<br /><br />
тут нужный текст</div>';
}
else {
//echo 'нет ничего';
}
Посоветуйте, пожалуйста кто разбирается, где поправить косяк. В запросах не силен.
То есть если Вирт не выводит два определенных способа доставки, выводим справку.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Код
$q = "SELECT shipping_carrier_id FROM #__{vm}_shipping_carrier WHERE shipping_carrier_id='".$d['shipping_carrier_id']."'";
Не понимаю смысл запроса: зачем искать то, что уже известно?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SolopoV

  • Давно я тут
  • 573
  • 16 / 0
  • зеленею...
Код
$q = "SELECT shipping_carrier_id FROM #__{vm}_shipping_carrier WHERE shipping_carrier_id='".$d['shipping_carrier_id']."'";
Не понимаю смысл запроса: зачем искать то, что уже известно?
Может правильный запрос напишете?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Массив $d формируется в ps.checkout, а информация о способах доставки - в классах shipping/
И не уверен, что существует $d['shipping_carrier_id'], по-моему, что-то вроде $d['shipping_rate_id'].
Не будь паразитом, сделай что-нибудь самостоятельно!
*

fsv

  • Moderator
  • 2765
  • 402 / 2
Цитировать
shipping_carrier_id
Используете только
Цитировать
   Стандартный модуль доставки с индивидуальными данными о расценках. РЕКОМЕНДУЕТСЯ !
?
Тогда его и ковырять.

Еще вариант:
list_shipping_methods.tpl.php
В начале, ДО foreach( $PSHOP_SHIPPING_MODULES as $shipping_module ) { вставить
Код
?>
<script type="text/javascript">
jQuery.noConflict();
(function($) {
$(document).ready(function() {
if ( $("body").find("#shipping_rate_id_ss_22").length < 1 || $("body").find("#shipping_rate_id_ss_6").length < 1 ) {
$("#list_shipping_methods").append("<div class=\"small\">Справочно о доставке курьером:<br /><br />тут нужный текст</div>");
}
});
})(jQuery);
</script>
<?php
echo '<div id="list_shipping_methods">';

В конец добавить
Код
echo '</div>';

Какие у вас там id радиокнопок (например, shipping_rate_id_ss_22) (а не shipping_carrier_id), смотрите сами.

Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

SolopoV

  • Давно я тут
  • 573
  • 16 / 0
  • зеленею...
Не сработало:
Код
<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
?>
<script type="text/javascript">
jQuery.noConflict();
(function($) {
$(document).ready(function() {
if ( $("body").find("#shipping_rate_id_ss_49").length < 1 || $("body").find("#shipping_rate_id_ss_50").length < 1 ) {
$("#list_shipping_methods").append("<div class=\"small\">Справочно о доставке курьером:<br /><br />тут нужный текст</div>");
}
});
})(jQuery);
</script>
<?php
echo '<div id="list_shipping_methods">';
foreach( $PSHOP_SHIPPING_MODULES as $shipping_module ) {
    $vmLogger->debug( 'Starting Shipping module: '.$shipping_module );
if( file_exists( CLASSPATH. "shipping/".$shipping_module.".php" )) {
include_once( CLASSPATH. "shipping/".$shipping_module.".php" );

}
if( class_exists( $shipping_module )) {
$SHIPPING = new $shipping_module();
$SHIPPING->list_rates( $vars );

echo "<br />";
}
}
echo '</div>';
?>
*

fsv

  • Moderator
  • 2765
  • 402 / 2
Не сработало:
У меня сработало.
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

SolopoV

  • Давно я тут
  • 573
  • 16 / 0
  • зеленею...
У меня сработало.
В любом случае - спасибо за участие в обсуждении.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не сработало:
Возможно, вы прописали shipping_carrier_id вместо shipping_rate_id. Смотрите в таблице #__vm_shipping_rate.
Или используете не стандартный модуль доставки.
« Последнее редактирование: 27.04.2013, 11:04:24 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

fsv

  • Moderator
  • 2765
  • 402 / 2
В любом случае - спасибо за участие в обсуждении.
Пожалуйста. Только обсуждения как бы и не было. Вы не даете информацию.
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

SolopoV

  • Давно я тут
  • 573
  • 16 / 0
  • зеленею...
Получилось наполовину, потому как ещё есть третий вариант доставки, 50.

Ну вот гляньте, так работает:
Код
<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
?>
<script type="text/javascript">
jQuery.noConflict();
(function($) {
$(document).ready(function() {
if ( $("body").find("#shipping_rate_id_ss_25").length < 1 || $("body").find("#shipping_rate_id_ss_49").length < 1 ) {
$("#list_shipping_methods").append("<div class=\"small\">Справочно о доставке курьером Бла-бла-бла.</div>");
}
});
})(jQuery);
</script>
<?php
echo '<div id="list_shipping_methods">';
foreach( $PSHOP_SHIPPING_MODULES as $shipping_module ) {
    $vmLogger->debug( 'Starting Shipping module: '.$shipping_module );
if( file_exists( CLASSPATH. "shipping/".$shipping_module.".php" )) {
include_once( CLASSPATH. "shipping/".$shipping_module.".php" );

}
if( class_exists( $shipping_module )) {
$SHIPPING = new $shipping_module();
$SHIPPING->list_rates( $vars );

echo "<br />";
}
}
echo '</div>';
?>

а вот так:

Код
if ( $("body").find("#shipping_rate_id_ss_25").length < 1 || $("body").find("#shipping_rate_id_ss_49").length < 1 || $("body").find("#shipping_rate_id_ss_50").length < 1) 

не пашет
*

fsv

  • Moderator
  • 2765
  • 402 / 2
Наверное, я просмотрел существенный момент в первом сообщении. Вам надо, чтобы если вообще ни один из трех не выводит, показывать сообщение? А если хотя бы один из трех есть, не выводить? Т.е. вариант "и". А я дал вариант с "или".
Попробуйте заменить  || на && . Да и ссылка на сайт с изменениями не помешала бы.
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

SolopoV

  • Давно я тут
  • 573
  • 16 / 0
  • зеленею...
Наверное, я просмотрел существенный момент в первом сообщении. Вам надо, чтобы если вообще ни один из трех не выводит, показывать сообщение? А если хотя бы один из трех есть, не выводить? Т.е. вариант "и". А я дал вариант с "или".
Попробуйте заменить  || на && . Да и ссылка на сайт с изменениями не помешала бы.
Затупил я что-то... один из трех появляется и в другом "блоке" способов доставки.. придется делать ещё один вид доставки, поскольку ограничения делаются по диапазону индексов... в общем мутно все, закручено. Выложу в инет - обязательно ссылкой поделюсь..
*

fsv

  • Moderator
  • 2765
  • 402 / 2
один из трех появляется и в другом "блоке" способов доставки
Если у "блоков способов доставки" есть id, попробуйте заменить
$("body")
на
$(#"id_блока")
, чтобы обнаружить/не обнаружить id способа доставки в конкретном блоке. Логика та же, покрутить надо согласно всем вашим условиям.
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент VirtueMart 3x - ошибка при создании способа доставки

Автор manah23

Ответов: 0
Просмотров: 822
Последний ответ 21.03.2018, 20:55:32
от manah23
Модуль «VirtueMart Товары» вывод товаров по рейтингу

Автор myrka

Ответов: 0
Просмотров: 1231
Последний ответ 10.01.2017, 17:09:22
от myrka
Вывод категорий VirtueMart

Автор Deryan

Ответов: 13
Просмотров: 6039
Последний ответ 06.10.2016, 19:58:54
от shell88
Вывод SIGE в настраиваемых полях VirtueMart

Автор she-r

Ответов: 1
Просмотров: 931
Последний ответ 01.03.2016, 16:14:56
от she-r
Вывод товара из подкатегории

Автор B0nG

Ответов: 0
Просмотров: 836
Последний ответ 31.07.2014, 11:18:10
от B0nG