Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Простенький вопрос по PHP

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Antolik
Плохо читали
 

Цитата:
Цитата:
не работает скрипт.
 
 
Код:
$arr[rand(0, count($arr) - 1)]
 
либо  
 
Код:
array_rand($arr)

Всего записей: 9709 | Зарегистр. 20-09-2014 | Отправлено: 20:46 10-11-2018
Shaggy_Animal

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не туда

Всего записей: 56 | Зарегистр. 07-12-2001 | Отправлено: 11:58 17-11-2018 | Исправлено: Shaggy_Animal, 12:00 17-11-2018
b7music



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день. Подскажите, почему не работает?
Есть условие

Код:
            if(strlen($metaValue = strip_tags($metaValue)))
            {
                $metaValue = str_replace('//', '/', $metaValue);
        $metaValue2 = str_replace('https://nbs22.ru:443https:/', 'https://', $metaValue);
                
 
                
                if($metaName === 'og:image' || $metaName === 'og:url')
                    //$metaValue = $addr.$metaValue;
                    $metaValue2 = $addr.$metaValue2;
 
                    global $USER;  
                    if ($USER->IsAdmin()) {echo '<pre>'; print_r($metaValue2); echo '</pre>'; }    
                
                $APPLICATION->AddHeadString('<meta property="'.$metaName.'" content="'.$metaValue2.'" />', true);
 
                if($metaName === 'og:image')
                    $APPLICATION->AddHeadString('<link rel="image_src" href="'.$metaValue2.'"  />', true);
            }

На выходе получаю html

Код:
<meta property="og:description" content="Сенсор Samsung i9060 белый" />
<meta property="og:image" content="https://nbs22.ru:443https:/cdn.nbs22.ru/iblock/075/sensor_samsung_i9060_belyy.jpg" />
<link rel="image_src" href="https://nbs22.ru:443https:/cdn.nbs22.ru/iblock/075/sensor_samsung_i9060_belyy.jpg"  />
<meta property="og:title" content="Купить Сенсор Samsung i9060 белый в Барнауле, доставка по России и СНГ." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://nbs22.ru:443/catalog/zapchasti_dlya_sotovykh_i_planshetov/tachskriny/samsung_15/sensor_samsung_i9060_belyy_1.html?clear_cache=Y" />
 

Проблема в том, что картинки хранятся в облаке, и формируется неправильный адрес.
Пытаюсь заменить "https://nbs22.ru:443https:/" на "'https://"  
Не меняется
Вот вывод
print_r($metaValue2);

Код:
Сенсор Samsung i9060 белый
https://nbs22.ru:443https:/cdn.nbs22.ru/iblock/075/sensor_samsung_i9060_belyy.jpg
Купить Сенсор Samsung i9060 белый в Барнауле, доставка по России и СНГ.
website
https://nbs22.ru:443/catalog/zapchasti_dlya_sotovykh_i_planshetov/tachskriny/samsung_15/sensor_samsung_i9060_belyy_1.html

Т.е. чтобы адрес к картинке был
не такой
https://nbs22.ru:443https:/cdn.nbs22.ru/iblock/075/sensor_samsung_i9060_belyy.jpg
а такой
https://cdn.nbs22.ru/iblock/075/sensor_samsung_i9060_belyy.jpg
 

Всего записей: 601 | Зарегистр. 04-03-2010 | Отправлено: 07:47 20-11-2018 | Исправлено: b7music, 07:48 20-11-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music

Цитата:
Вот вывод  
print_r($metaValue2);

покажите что на входе (то есть $metaValue)

Всего записей: 9709 | Зарегистр. 20-09-2014 | Отправлено: 07:56 20-11-2018
b7music



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mavrikii
Спасибо за отклик, удалось сделать таким образом:

Код:
            if(strlen($metaValue = strip_tags($metaValue)))
            {
                $metaValue = str_replace('//', '/', $metaValue);
                
                if($metaName === 'og:image' || $metaName === 'og:url')
                                      
                    $metaValue = $addr.$metaValue;
                    $metaValue = str_replace('https://nbs22.ru:443https:/cdn', 'https://cdn', $metaValue);
 
                $APPLICATION->AddHeadString('<meta property="'.$metaName.'" content="'.$metaValue.'" />', true);
 
                if($metaName === 'og:image')
                    $APPLICATION->AddHeadString('<link rel="image_src" href="'.$metaValue.'"  />', true);
            }

B теги правильные.

Код:
<meta property="og:description" content="Сенсор Samsung i9060 белый" />
<meta property="og:image" content="https://cdn.nbs22.ru/iblock/075/sensor_samsung_i9060_belyy.jpg" />
<link rel="image_src" href="https://cdn.nbs22.ru/iblock/075/sensor_samsung_i9060_belyy.jpg"  />
<meta property="og:title" content="Купить Сенсор Samsung i9060 белый в Барнауле, доставка по России и СНГ." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://nbs22.ru:443/catalog/zapchasti_dlya_sotovykh_i_planshetov/tachskriny/samsung_15/sensor_samsung_i9060_belyy_1.html" />

Не в том месте менял.

Всего записей: 601 | Зарегистр. 04-03-2010 | Отправлено: 08:11 20-11-2018 | Исправлено: b7music, 08:13 20-11-2018
b7music



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребят, всем привет, подскажите, пожалуйста.
Есть код

Код:
 
if ($value['id'] === 'PROPERTY_COLOR_REF_VALUE')  {
                /*b7music*/
                    
    
                    
                CModule::IncludeModule('highloadblock');
 
                $ID = 3; // ИД
                $colorname = null;
                $hldata = Bitrix\Highloadblock\HighloadBlockTable::getById($ID)->fetch();
                $hlentity = Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hldata);
                $hlDataClass = $hldata["NAME"] . "Table";
 
                $resultHL = $hlDataClass::getList(array(
                    "select" => array("ID", "UF_NAME", "UF_XML_ID"), // Поля для выборки
                    "order" => array("UF_SORT" => "ASC"),
                    "filter" => array(),
                ));
 
                while ($res = $resultHL->fetch()) {
 
 
                    $colorname[$res['UF_NAME']] = $res['UF_XML_ID'];
 
                    $tekcolor = $rowData['COLUMN_LIST'][0]['VALUE'];
 
                    $rus_color = array_search($tekcolor, $colorname);    
                    
                    
                            foreach($rowData['COLUMN_LIST'][0]['VALUE'] as $cname) {
                
                                if ($cname = $rus_color) {
                            
                                
                                
                                    $rowData['COLUMN_LIST'][] = array(
                                        'CODE' => $value['id'],
                                        'NAME' => $value['name'],
                                        'VALUE' => $rus_color,
                                        'IS_TEXT' => true,
                                        'HIDE_MOBILE' => !isset($mobileColumns[$value['id']])
                                    );
 
                                
                                    
                                }
                            }
                              
                    
                }
                        
            }
 
 

Что имеем
var_dump($tekcolor); выводит  

Код:
string(19) "Pure Gold_glamorous"

var_dump($colorname); это массив

Код:
array(99) {
  ["MSN (Msn)"]=>
  string(9) "msn_crazy"
  ["Розовый (Pink)"]=>
  string(9) "Pink_neon"
  ["Псих (Psycho)"]=>
  string(12) "Psycho_crazy"
  ["Радиация (Radiate)"]=>
  string(13) "Radiate_crazy"
  ["Красный кот (Red Cat)"]=>
  string(13) "Red Cat_crazy"
  ["Красная Банши (Red Banshee)"]=>
  string(17) "Red Banshee_crazy"
  ["Робот (Robot)"]=>
  string(11) "Robot_crazy"
  ["Шаринган (Sharingan)"]=>
  string(15) "Sharingan_crazy"
  ["Смайл (Smiley)"]=>
  string(12) "Smiley_crazy"
  ["Футболный мяч (Soccer Ball)"]=>
  string(17) "Soccer Ball_crazy"
  ["Желтый (Solid Yellow)"]=>
  string(18) "Solid Yellow_crazy"
  ["Паутина (Spider Web)"]=>
  string(16) "Spider Web_crazy"
  ["Мишень (Target)"]=>
  string(12) "Target_crazy"
  ["Тигр Лилли (Tiger Lilly)"]=>
  string(17) "Tiger Lilly_crazy"
  ["Белый кот (White Cat)"]=>
  string(15) "White Cat_crazy"
  ["Белый (White Out)"]=>
  string(15) "White Out_crazy"
  ["Дикий огонь (Wild Fire)"]=>
  string(15) "Wild Fire_crazy"
  ["Желтый волк (Yellow Wolf)"]=>
  string(17) "Yellow Wolf_crazy"
  ["Желтый кот (Yellow Cat)"]=>
  string(16) "Yellow Cat_crazy"
  ["Зебра (Zebra)"]=>
  string(11) "Zebra_crazy"
  ["Зомби (Zombie)"]=>
  string(12) "Zombie_crazy"
  ["Голубой (Blue)"]=>
  string(11) "Blue_color1"
  ["Коричневый (Brown)"]=>
  string(12) "Brown_color3"
  ["Серый (Gray)"]=>
  string(11) "Gray_color3"
  ["Зеленый (Green)"]=>
  string(12) "Green_color3"
  ["Черный (Black)"]=>
  string(15) "Black_glamorous"
  ["Золотой (Gold)"]=>
  string(14) "Gold_glamorous"
  ["Светло-золотой (Pure Gold)"]=>
  string(19) "Pure Gold_glamorous"
  ["Бирюзовый (Turquoise)"]=>
  string(16) "Turquoise_color3"
  ["Фиолетовый (Violet)"]=>
  string(14) "Violet_fcolors"
  ["Лимонный (Lemon)"]=>
  string(10) "Lemon_neon"
  ["Белый (White)"]=>
  string(10) "White_neon"
  ["Демон (Demon Look)"]=>
  string(17) "Demon Look_sclera"
  ["Дракон (Dragon)"]=>
  string(13) "Dragon_sclera"
  ["Призрак (Ghost)"]=>
  string(12) "Ghost_sclera"
  ["Сатана (Satana)"]=>
  string(13) "Satana_sclera"
  ["Акула (Shark)"]=>
  string(12) "Shark_sclera"
  ["Шаман (Voodoo)"]=>
  string(13) "Voodoo_sclera"
  ["Аметист (Amethist)"]=>
  string(15) "Amethist_color3"
  ["Бриллиантовый голубой (Brilliant Blue)"]=>
  string(18) "Brilliant Blue_aoc"
  ["Изумрудный зеленый (Gemstone Green)"]=>
  string(18) "Gemstone Green_aoc"
  ["Медовый (Honey)"]=>
  string(12) "Honey_color3"
  ["Ореховый (Pure Hazel)"]=>
  string(22) "Pure Hazel_colorblends"
  ["Серебристый серый (Sterling Grey)"]=>
  string(25) "Sterling Grey_colorblends"
  ["Настоящий сапфир (True Sapphire)"]=>
  string(20) "True Sapphire_color3"
  ["Ореховый (Hazel)"]=>
  string(12) "Hazel_color3"
  ["Карибиан Аква (Caribbean Aqua)"]=>
  string(24) "Caribbean Aqua_dimension"
  ["Голубая лазурь (Pacific Blue)"]=>
  string(22) "Pacific Blue_dimension"
  ["Зеленая лагуна (Sea Green)"]=>
  string(19) "Sea Green_dimension"
  ["Зеленый (Amazon)"]=>
  string(14) "Amazon_soflens"
  ["Бирюзово-зеленый (Aquamarine)"]=>
  string(18) "Aquamarine_soflens"
  ["Темно-ореховый (Dark Hazel)"]=>
  string(18) "Dark Hazel_soflens"
  ["Темно-зеленый (Emerald)"]=>
  string(15) "Emerald_soflens"
  ["Ореховый (India)"]=>
  string(13) "India_soflens"
  ["Фиолетовый (Indigo)"]=>
  string(14) "Indigo_soflens"
  ["Светло-зеленый (Jade)"]=>
  string(12) "Jade_soflens"
  ["Голубой (Pacific)"]=>
  string(15) "Pacific_soflens"
  ["Серый (Platinum)"]=>
  string(16) "Platinum_soflens"
  ["Синий (Topaz)"]=>
  string(13) "Topaz_soflens"
  ["Естественное сияние"]=>
  string(7) "Shimmer"
  ["Естественный блеск"]=>
  string(7) "Sparkle"
  ["Сапрфировый голубой (Sapphire Blue)"]=>
  string(21) "Sapphire_Blue_fcolors"
  ["Мистический серый (Mystic Gray)"]=>
  string(19) "Mystic_Gray_fcolors"
  ["Фиолетово-голубой (Blue-Violet)"]=>
  string(18) "Blue-Violet-fusion"
  ["Зелено-желтый (Green-Yellow)"]=>
  string(19) "Green-Yellow-fusion"
  ["Серый 2 (Gray-2)"]=>
  string(13) "Gray-2-fusion"
  ["Зеленый 2 (Green-2)"]=>
  string(14) "Green-2-fusion"
  ["Голубой 2 (Blue-2)"]=>
  string(13) "Blue-2-fusion"
  ["Коричневый 2 (Brown-2)"]=>
  string(14) "Brown-2-fusion"
  ["Голубой 3 (Blue-3)"]=>
  string(13) "Blue-3-fusion"
  ["Фиолетовый 2 (Violet-2)"]=>
  string(15) "Violet-2-fusion"
  ["Зеленый 3 (Green-3)"]=>
  string(14) "Green-3-fusion"
  ["Коричневый 3 (Brown-3)"]=>
  string(14) "Brown-3-fusion"
  ["Бархатный черный (Velvet Black)"]=>
  string(19) "Velvet Black-fusion"
  ["Бриллиантовый синий (Brilliant Blue)"]=>
  string(21) "Brilliant Blue-fusion"
  ["Голубой сапфир (Sapphire Blue)"]=>
  string(20) "Sapphire Blue-fusion"
  ["Аква (Aqua)"]=>
  string(11) "Aqua-nuance"
  ["Коричневые (Brown)"]=>
  string(17) "korichnevye_brown"
  ["Серебристый серый (Sterling Gray)"]=>
  string(17) "Sterling Grey_aoc"
  ["Лаванда (Lavender)"]=>
  string(15) "Lavender_color1"
  ["Светло-ореховый (Pure Hazel)"]=>
  string(17) "Pure Hazel_color3"
  ["Бильярдный шар (8 Ball)"]=>
  string(12) "8 Ball_crazy"
  ["Черный (Black Out)"]=>
  string(15) "Black Out_crazy"
  ["Черная звезда (Black Star)"]=>
  string(16) "Black Star_crazy"
  ["Кровь (Blood)"]=>
  string(11) "Blood_crazy"
  ["Голубой англик (Blue Anglic)"]=>
  string(17) "Blue Anglic_crazy"
  ["Голубое колесо (Blue Wheel)"]=>
  string(16) "Blue Wheel_crazy"
  ["Пересечение (Cross)"]=>
  string(11) "Cross_crazy"
  ["Демон (Demon)"]=>
  string(11) "Demon_crazy"
  ["Дьявол (Devil)"]=>
  string(11) "Devil_crazy"
  ["Зеленый доллар (Dollar Green)"]=>
  string(18) "Dollar Green_crazy"
  ["Орел (Eagle)"]=>
  string(11) "Eagle_crazy"
  ["Зеленая Банши (Green Banshee)"]=>
  string(19) "Green Banshee_crazy"
  ["Зеленый кот (Green Cat)"]=>
  string(15) "Green Cat_crazy"
  ["Зеленый цветок (Green Flower)"]=>
  string(18) "Green Flower_crazy"
  ["Сердце (Heart)"]=>
  string(11) "Heart_crazy"
  ["Горячий красный (Hot Red)"]=>
  string(13) "Hot Red_crazy"
  ["Безумный (Lunatic)"]=>
  string(13) "Lunatic_crazy"
  ["Маньяк (Maniac)"]=>
  string(12) "Maniac_crazy"
}

Не получается поменять значение VALUE

Код:
$rowData['COLUMN_LIST'][] = array(
                                        'CODE' => $value['id'],
                                        'NAME' => $value['name'],
                                        'VALUE' => $rus_color,

Ничего не меняется. Где ошибся?
 
http://prntscr.com/mad4pk
Вот у товара цвет технический, во втором массиве есть нормальное название, хочу подменить при совпадении

Всего записей: 601 | Зарегистр. 04-03-2010 | Отправлено: 05:53 22-01-2019 | Исправлено: b7music, 06:06 22-01-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music
массив ассоциативный, поэтому если берется элемент по ключу, то array_search не нужен.
$colorname[$tekname];
лучше сначала убедиться, что нужный ключ есть.
if (isset($colorname[$tekname]))
 
либо, в php 7.2
$var = $colorname[$tekname] ?? 'значение_по_умолчанию';

Всего записей: 9709 | Зарегистр. 20-09-2014 | Отправлено: 09:27 22-01-2019 | Исправлено: Mavrikii, 09:28 22-01-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это код страницы товара. Нужно вывести таб с характеристиками. Саму вкладку сделал, а вот код какой туда нужон не понимаю. В движке данные характеристик выводит вот это (не знаю как называется ) -  $data['thisUserFields']
Помогите вкладку создать пжст

Код:
<?php mgSEO($data); ?>
 
<div class="j-product  product-details-block" itemscope itemtype="http://schema.org/Product">
 
    <h1 class="j-product__title j-title" itemprop="name"><?php echo $data['title'] ?></h1>
 
   
    <div class="j-product__gallery">
        <?php mgGalleryProduct($data); ?>
    </div>
 
    <div class="j-product__status   product-status">
 
        <div class="buy-block">
            <div class="j-product__block   buy-block-inner">
 
                <div class="j-product__block__left j-product__price   product-price">
                    <ul class="product-status-list">
                        <?php if($data["old_price"]!=""): ?>
                        <li <?php echo (!$data['old_price'])?'style="display:none"':'style="display:inline-block"' ?>>
                            <span class="j-product__price__old   old-price"><?php echo MG::numberFormat($data['old_price'])." ".$data['currency']; ?></span>
                        </li>
                       
                        <?php endif; ?>
                        <li>
                            <span class="j-product__price__current   price" itemprop="price"><?php echo $data['price'] ?> <?php echo $data['currency']; ?></span>
                        </li>
                    </ul>
 
                    <?php if(class_exists('JSComments')): ?>[jscomments id="<?php echo $data['id']?>"]<?php endif; ?>
                </div>
 
                <div class="j-product__block__right">
                    <div class="j-product__code    product-code">
                       
                  </div>
                   
                </div>
 <ul class="product-status-list">
                        <li class="count-product-info">
                            <?php layout('count_product', $data); ?>
                      </li>
                        <li <?php echo (!$data['weight'])?'style="display:none"':'style="display:block;"' ?>>Вес: <span class="label-black weight"><?php echo $data['weight'] ?></span> кг. </li>
              </ul>
            </div>
            <?php echo $data['propertyForm'] ?>
 
            <div class="j-social">
                <div class="j-social__text">Понравился товар? Расскажите о нем своим друзьям:</div>
                <script src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script>
                <script src="//yastatic.net/share2/share.js"></script>
                <div class="ya-share2" data-services="collections,vkontakte,facebook,odnoklassniki,moimir,gplus" data-counter=""></div>
            </div>
 
        </div>
    </div>
 
    <div class="j-product__tab">
        <div class="j-tab__nav">
            <a class="j-tab__nav__a active" href="#tab1">Описание</a>
            <a class="j-tab__nav__a" href="#tab2">Характеристики</a>
            <a class="j-tab__nav__a" href="#tab3">Отзывы <span class="j-comments__count"></span></a>
 
            <?php foreach ($data['thisUserFields'] as $key => $value) { if ($value['type']=='textarea'&&$value['value']) {?>
            <a class="j-tab__nav__a" href="#tab<?php echo $key?>"><?php echo $value['name']?></a>
            <?php } }?>
        </div>
 
        <div class="j-tab__content active" id="tab1" itemprop="description">
            <?php echo $data['description'] ?>
        </div>
<div>
    <div class="j-tab__content " id="tab2" itemprop="thisUserFields">
    
</div>
        <div class="j-tab__content" id="tab3" itemscope itemtype="http://schema.org/Review">
            <?php if(class_exists('JSComments')): ?>[jscomments]<?php endif; ?>
            [mg-treelike-comments type=""]
        </div>
 
        <?php foreach ($data['thisUserFields'] as $key => $value) { if ($value['type']=='textarea') {?>
        <div class="j-tab__content" id="tab<?php echo $key?>" itemscope>
            <?php echo preg_replace('/\<br(\s*)?\/?\>/i', "\n", $value['value'])?>
        </div>
        <?php } }?>
    </div>
 
 
    <?php echo $data['related'] ?>
 
</div>

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 17:51 17-05-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON
при чем тут php??
вкладка делается на уровне html + css, просто скопируйте с другого места.
ваш вопрос слишком специфичен для используемой системы, а не языка php

Всего записей: 9709 | Зарегистр. 20-09-2014 | Отправлено: 20:28 17-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii - пост
Цитата:
при чем тут php??

Это - $data['thisUserFields'] не php что-ли? вкладку я сделал -  

Код:
<div>  
    <div class="j-tab__content " id="tab2" itemprop="thisUserFields">  
     
</div>  

, нужно вставить $data['thisUserFields'] но как правильно я не знаю.

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 20:42 17-05-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
Это - $data['thisUserFields']

это всего лишь переменная, которая содержит какое то значение.  
она не влияет на табы или что то еще.

Цитата:
но как правильно я не знаю.

<?php echo $data['thisUserFields']; ?>
но только если это строка или число.

Всего записей: 9709 | Зарегистр. 20-09-2014 | Отправлено: 22:15 17-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii - пост
Цитата:
всего лишь переменная

ага, значит переменная. Эта переменная выводит список характеристик ежели таковые имеются.
Только по факту нихера она не выводит ( Вставил строку вашу в таб - нифига.
 
Mavrikii - пост
Цитата:
она не влияет на табы или что то еще.  

да не говорил я, что она табы выводит!
Может так поможет разобраться. Это код страницы товара, характеристики выводятся нормально
Спрашиваю здесь ибо офф форум скорее мертв нежели жив
 

Код:
<?php
/**
 *  Файл представления Product - выводит сгенерированную движком информацию на странице карточки товара.
 *  В этом файле доступны следующие данные:
 *   <code>
 *   $data['category_url'] => URL категории в которой находится продукт
 *   $data['product_url'] => Полный URL продукта
 *   $data['id'] => id продукта
 *   $data['sort'] => порядок сортировки в каталоге
 *   $data['cat_id'] => id категории
 *   $data['title'] => Наименование товара
 *   $data['description'] => Описание товара
 *   $data['price'] => Стоимость
 *   $data['url'] => URL продукта
 *   $data['image_url'] => Главная картинка товара
 *   $data['code'] => Артикул товара
 *   $data['count'] => Количество товара на складе
 *   $data['activity'] => Флаг активности товара
 *   $data['old_price'] => Старая цена товара
 *   $data['recommend'] => Флаг рекомендуемого товара
 *   $data['new'] => Флаг новинок
 *   $data['thisUserFields'] => Пользовательские характеристики товара
 *   $data['images_product'] => Все изображения товара
 *   $data['currency'] => Валюта магазина.
 *   $data['propertyForm'] => Форма для карточки товара
 *     $data['liteFormData'] => Упрощенная форма для карточки товара
 *   $data['meta_title'] => Значение meta тега для страницы,
 *   $data['meta_keywords'] => Значение meta_keywords тега для страницы,
 *   $data['meta_desc'] => Значение meta_desc тега для страницы,
 *   $data['wholesalesData'] => Информация об оптовых скидках,
 *   $data['storages'] => Информация о складах,
 *   $data['remInfo'] => Информация при отсутсвии товара,
 *   </code>
 *
 *   Получить подробную информацию о каждом элементе массива $data, можно вставив следующую строку кода в верстку файла.
 *   <code>
 *    <?php viewData($data['thisUserFields']); ?>
 *   </code>
 *
 *   Вывести содержание элементов массива $data, можно вставив следующую строку кода в верстку файла.
 *   <code>
 *    <?php echo $data['thisUserFields']; ?>
 *   </code>
 *
 *   <b>Внимание!</b> Файл предназначен только для форматированного вывода данных на страницу магазина. Категорически не рекомендуется выполнять в нем запросы к БД сайта или реализовывать сложную программную логику логику.
 * @author Авдеев Марк <mark-avdeev@mail.ru>
 * @package moguta.cms
 * @subpackage Views
 */
// Установка значений в метатеги title, keywords, description.
mgSEO($data);
?>
 
 
<div class="c-product product-details-block">
 
    <div class="l-row">
        <div class="l-col min-0--12">
            <div class="product-status" itemscope itemtype="http://schema.org/Product">
                <?php if (class_exists('BreadCrumbs')): ?>[brcr]<?php endif; ?>
                <div class="l-row">
                    <div class="l-col min-0--12 min-768--6">
                        <?php mgGalleryProduct($data); ?>
                    </div>
                    <div class="l-col min-0--12 min-768--6">
                        <div class="c-product__content buy-block">
                            <div class="buy-block-inner">
                                <div class="product-bar">
                                    <div class="c-product__row">
                                        <h1 class="c-title" itemprop="name"><?php echo $data['title'] ?></h1>
                                    </div>
                                    <div class="c-product__row">
                                        <div class="c-product__block">
                                            <div class="c-product__block--left">
                                                <div class="c-product__row">
                                                    <div class="c-product__code product-code">
                                                        <span>
                                                        <?php echo lang('productCode'); ?> <span class="c-product__code--span label-article code" itemprop="productID"> <?php echo $data['code'] ?></span>
                                                        </span>
                                                        <span class="price">
                                                            <span content="<?php echo str_replace(' ', '', $data['price'])?>"></span>
                                                            <span content="<?php echo $data['currency']; ?>"></span>
                                                        </span>
                                                    </div>
                                                    <div class="available">
                                                        <?php layout('count_product', $data); ?>                                                                                                            
                                                    </div>
                                                </div>
                                                <?php if (class_exists('NonAvailable')): ?>
                                                    <div class="c-product__row">[non-available id="<?php echo $data['id']?>"]</div>
                                                <?php endif; ?>
                                                <div class="c-product__row">
                                                    <ul class="product-status-list">
                                                        <li <?php echo (!$data['weight']) ? 'style="display:none"' : 'style="display:block"' ?>>
                                                            <?php echo lang('productWeight1'); ?> <span class="label-black weight"><?php echo $data['weight'] ?></span> <?php echo lang('productWeight2'); ?>
                                                        </li>
                                                    </ul>
                                                </div>  
                                            </div>
                                            <div class="c-product__block--right">
                                                <div class="c-product__row">
                                                    <div class="default-price">
                                                        <div class="product-price">
                                                            <ul itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="product-status-list">
                                                                <li>
                                                                    <div class="c-product__price c-product__price--current normal-price">
                                                                        <div class="c-product__price--title">
                                                                            <?php echo lang('productPrice'); ?>
                                                                        </div>
                                                                        <span class="c-product__price--value price">
                                                                            <span itemprop="price" content="<?php echo MG::numberDeFormat($data['price']);?>"><?php echo $data['price'] ?></span> <span itemprop="priceCurrency"><?php echo $data['currency']; ?></span>
                                                                        </span>
                                                                    </div>
                                                                </li>
                                                                <li <?php echo (!$data['old_price']) ? 'style="display:none"' : 'style="display:block"' ?>>
                                                                    <div class="c-product__price c-product__price--old old">
                                                                        <div class="c-product__price--title">
                                                                            <?php echo lang('productOldPrice'); ?>
                                                                        </div>
                                                                        <s class="c-product__price--value old-price">
                                                                            <?php echo MG::numberFormat($data['old_price']) . " " . $data['currency']; ?>
                                                                        </s>
                                                                    </div>
                                                                </li>
                                                            </ul>
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="c-product__row">
                                                <?php if (class_exists('Rating')): ?>
                                                    <div class="c-product__row">[rating id = "<?php echo $data['id'] ?>"]</div>
                                                <?php endif; ?>                                                    
                                                </div>
                                                 
 
                                            </div>
                                        </div>
                                    </div>
                                      <div class="c-product__row">
                                        <?php echo MG::layoutManager('layout_wholesales_info', $data['wholesalesData']); ?>
                                    </div>
 
                                    <div class="c-product__row">
                                        <?php echo MG::layoutManager('layout_storage_info', $data); ?>
                                        <?php echo $data['propertyForm'] ?>
                                    </div>
 
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="l-col min-0--12">
                        <div class="c-tab">
                            <div class="c-tab__nav">
                                <a class="c-tab__link c-tab__link--active" href="#c-tab__tab1"><?php echo lang('productDescription'); ?></a>
                                 
                                <?php if(!empty($data['stringsProperties'])): ?>
                                <a class="c-tab__link" href="#c-tab__property"><?php echo lang('productCharacteristics'); ?></a>
                                <?php endif; ?>
 
                                <?php if (class_exists('mgTreelikeComments')): ?>
                                    <a class="c-tab__link" href="#c-tab__tree-comments"><?php echo lang('productComments'); ?></a>
                                <?php endif; ?>
                                
                                <?php if (class_exists('CommentsToMoguta')): ?>
                                    <a class="c-tab__link" href="#c-tab__comments-mg"><?php echo lang('productComments'); ?></a>
                                <?php endif; ?>
 
                                <?php foreach ($data['thisUserFields'] as $key => $value) {
                                    if ($value['type']=='textarea'&&$value['value']) {?>
                                        <a class="c-tab__link" href="#c-tab__tab<?php echo $key?>"><?php echo $value['name']?></a>
                                    <?php   }
                                }?>
                            </div>
 
                            <div class="c-tab__content c-tab__content--active" id="c-tab__tab1" itemprop="description">
                                <?php echo $data['description'] ?>
                            </div>
 
                            <?php if(class_exists('mgTreelikeComments')): ?>
                                <div class="c-tab__content" id="c-tab__tree-comments" itemscope itemtype="http://schema.org/Review">
                                    <span style="display: none;" itemprop="itemReviewed" content="<?php echo $data['product_title'] ?>"></span>
                                   [mg-treelike-comments type="product"]
                                </div>
                            <?php endif; ?>
 
                            <?php if(class_exists('CommentsToMoguta')): ?>
                                <div class="c-tab__content" id="c-tab__comments-mg" itemscope itemtype="http://schema.org/Review">
                                    <span style="display: none;" itemprop="itemReviewed" content="<?php echo $data['product_title'] ?>"></span>
                                    [comments]
                                </div>
                            <?php endif; ?>
                             
                            <?php if(!empty($data['stringsProperties'])): ?>
                                <div class="c-tab__content" id="c-tab__property">
                                 <?php layout('property',$data);?>                            
                                </div>
                            <?php endif; ?>
 
                            <?php foreach ($data['thisUserFields'] as $key => $value) {
                                if ($value['type']=='textarea') { ?>
                                    <div class="c-tab__content" id="c-tab__tab<?php echo $key?>">
                                        <?php echo preg_replace('/\<br(\s*)?\/?\>/i', "\n", $value['value'])?>
                                    </div>
                                <?php  }
                            }?>
                        </div>
                    </div>
                </div>
               
            </div>
        </div>
 
        <div class="l-col min-0--12">
            <?php echo $data['related'] ?>  
        </div>
        <?php if(class_exists('RecentlyViewed')) {?>
        <div class="l-col min-0--12">
            <div class="c-carousel__title">
                <span class="c-carousel__title--span">
                    <?php echo lang('RecentlyViewed'); ?>
                </span>
            </div>
            [recently-viewed countPrint=4 count=5 random=1]
        </div>
        <?php }?>
        <div class="l-col min-0--12">
            <?php if(class_exists('SetGoods')): ?>[set-goods id="<?php echo $data['id']?>"]<?php endif; ?>
        </div>
 
    </div>
</div>

 
а это тоже код такой же страницы только из другого шаблона - в нем не выводит хар-ки

Код:
<?php mgSEO($data); ?>
[brcr]
<div class="j-product  product-details-block" itemscope itemtype="http://schema.org/Product">
 
    <h1 class="j-product__title j-title" itemprop="name"><?php echo $data['title'] ?></h1>
 
   
    <div class="j-product__gallery">
        <?php mgGalleryProduct($data); ?>
    </div>
 
    <div class="j-product__status   product-status">
 
        <div class="buy-block">
            <div class="j-product__block   buy-block-inner">
 
                <div class="j-product__block__left j-product__price   product-price">
                    <ul class="product-status-list">
                        <?php if($data["old_price"]!=""): ?>
                        <li <?php echo (!$data['old_price'])?'style="display:none"':'style="display:inline-block"' ?>>
                            <span class="j-product__price__old   old-price"><?php echo MG::numberFormat($data['old_price'])." ".$data['currency']; ?></span>
                        </li>
                       
                        <?php endif; ?>
                        <li>
                            <span class="j-product__price__current   price" itemprop="price"><?php echo $data['price'] ?> <?php echo $data['currency']; ?></span>
                        </li>
                    </ul>
 
                    <?php if(class_exists('JSComments')): ?>[jscomments id="<?php echo $data['id']?>"]<?php endif; ?>
                </div>
 
                <div class="j-product__block__right">
                    <div class="j-product__code    product-code">
                       
                  </div>
                   
                </div>
 <ul class="product-status-list">
                        <li class="count-product-info">
                            <?php layout('count_product', $data); ?>
                      </li>
                        <li <?php echo (!$data['weight'])?'style="display:none"':'style="display:block;"' ?>>Вес: <span class="label-black weight"><?php echo $data['weight'] ?></span> кг. </li>
              </ul>
            </div>
            <?php echo $data['propertyForm'] ?>
 
            <div class="j-social">
                <div class="j-social__text">Понравился товар? Расскажите о нем своим друзьям:</div>
                <script src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script>
                <script src="//yastatic.net/share2/share.js"></script>
                <div class="ya-share2" data-services="collections,vkontakte,facebook,odnoklassniki,moimir,gplus" data-counter=""></div>
            </div>
 
        </div>
    </div>
 
    <div class="j-product__tab">
        <div class="j-tab__nav">
            <a class="j-tab__nav__a active" href="#tab1">Описание</a>
          <a class="j-tab__nav__a" href="#tab2">характеристики</a>
            <a class="j-tab__nav__a" href="#tab3">Отзывы <span class="j-comments__count"></span></a>
 
            <?php foreach ($data['thisUserFields'] as $key => $value) { if ($value['type']=='textarea'&&$value['value']) {?>
            <a class="j-tab__nav__a" href="#tab<?php echo $key?>"><?php echo $value['name']?></a>
            <?php } }?>
        </div>
 
        <div class="j-tab__content active" id="tab1" itemprop="description">
            <?php echo $data['description'] ?>
        </div>
 
        <div class="j-tab__content" id="tab3" itemscope itemtype="http://schema.org/Review">
            <?php if(class_exists('JSComments')): ?>[jscomments]<?php endif; ?>
            [mg-treelike-comments type=""]
        </div>
 
        <?php foreach ($data['thisUserFields'] as $key => $value) { if ($value['type']=='textarea') {?>
        <div class="j-tab__content" id="tab<?php echo $key?>" itemscope>
            <?php echo preg_replace('/\<br(\s*)?\/?\>/i', "\n", $value['value'])?>
        </div>
        <?php } }?>
    </div>
 
 
    <?php echo $data['related'] ?>
 
</div>

 
добавлено
 
вствил в файл это  

Цитата:
 <code>
   <?php viewData($data['thisUserFields']); ?>
 </code>

 
и получил это  
 

Код:
Array
(
    [11] => Array
        (
            [prop_id] => 11
            [type_view] =>  
            [id] => 11
            [name] => тина
            [type] => assortmentCheckBox
            [default] =>  
            [data] => Array
                (
                    [0] => Array
                        (
                            [id] => 63
                            [prop_id] => 11
                            [prop_data_id] => 30
                            [product_id] => 2
                            [name] => ффф
                            [margin] =>  
                            [type_view] =>  
                            [active] => 0
                            [name_orig] => ффф
                            [margin_orig] =>  
                        )
 
                    [1] => Array
                        (
                            [id] => 64
                            [prop_id] => 11
                            [prop_data_id] => 31
                            [product_id] => 2
                            [name] => ййййййй
                            [margin] =>  
                            [type_view] =>  
                            [active] => 1
                            [name_orig] => ййййййй
                            [margin_orig] =>  
                        )
 
                )
 
            [all_category] => 0
            [activity] => 1
            [sort] => 11
            [filter] => 0
            [description] =>  
            [type_filter] => checkbox
            [1c_id] =>  
            [plugin] =>  
            [unit] =>  
            [group_id] => 0
        )
 
    [10] => Array
        (
            [prop_id] => 10
            [type_view] =>  
            [id] => 10
            [name] => ывывы
            [type] => string
            [default] =>  
            [data] => Array
                (
                    [0] => Array
                        (
                            [id] => 62
                            [prop_id] => 10
                            [prop_data_id] => 0
                            [product_id] => 2
                            [name] =>  
                            [margin] =>  
                            [type_view] =>  
                            [active] => 0
                        )
 
                )
 
            [all_category] => 0
            [activity] => 1
            [sort] => 10
            [filter] => 0
            [description] =>  
            [type_filter] => select
            [1c_id] =>  
            [plugin] =>  
            [unit] =>  
            [group_id] => 0
        )
 
    [6] => Array
        (
            [prop_id] => 6
            [type_view] =>  
            [id] => 6
            [name] => -ыыыыыы  
            [type] => assortmentCheckBox
            [default] =>  
            [data] => Array
                (
                    [0] => Array
                        (
                            [id] => 55
                            [prop_id] => 6
                            [prop_data_id] => 23
                            [product_id] => 2
                            [name] => sddsd
                            [margin] =>  
                            [type_view] =>  
                            [active] => 0
                            [name_orig] => sddsd
                            [margin_orig] =>  
                        )
 
                    [1] => Array
                        (
                            [id] => 56
                            [prop_id] => 6
                            [prop_data_id] => 24
                            [product_id] => 2
                            [name] => sddasd
                            [margin] =>  
                            [type_view] =>  
                            [active] => 1
                            [name_orig] => sddasd
                            [margin_orig] =>  
                        )
 
                )
 
            [all_category] => 0
            [activity] => 1
            [sort] => 6
            [filter] => 0
            [description] =>  
            [type_filter] => select
            [1c_id] =>  
            [plugin] =>  
            [unit] =>  
            [group_id] => 0
        )
 
)

 
насколько я понимаю переменная работает т.е. содержит нужные характеристики, но не выводит. Выводится только текст Array

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 19:37 18-05-2019 | Исправлено: GEGEMON, 19:45 18-05-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
содержит нужные характеристики, но не выводит. Выводится только текст Array

и не выведет, потому что массив.
более того, это не текстовый массив, а массив, видимо, товаров.
для начала нужно определиться какие элементы массива нужно отображать.

Всего записей: 9709 | Зарегистр. 20-09-2014 | Отправлено: 21:17 18-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii - пост
Цитата:
это не текстовый массив, а массив, видимо, товаров.  

я совершенно точно знаю, что это именно то что нужно, ибо это  
 
Цитата:
 [name] => ывывы  
  [name] => -ыыыыыы  
   [name] => sddasd  

это названия характеристик, просто по клаве стучал ибо бесполезно писать нормальные названия
 
Mavrikii - пост
Цитата:
для начала нужно определиться какие элементы массива нужно отображать.

что для это я должен сделать?

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 21:27 18-05-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
я совершенно точно знаю, что это именно то что нужно, ибо это

оно у вас на разных уровнях вложенности.. вряд ли именно так нужно.
 
в любом случае

Код:
foreach($data['thisUserFields'] as $field) {
echo $field['name'];
foreach($field['data'] as $data) {
  echo $data['name'];
}}

Всего записей: 9709 | Зарегистр. 20-09-2014 | Отправлено: 22:07 18-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ваш код вставил, но как то странно вышло - лексер не подсвечивает его, типа простой текст, а не код php. В характеристиках - просто текст кода выводится
Mavrikii - пост
Цитата:
вряд ли именно так нужно.  

еще раз прописал код для вывода... вот что получилось

Код:
 
Array
(
    [13] => Array
        (
            [prop_id] => 13
            [type_view] =>  
            [id] => 13
            [name] => Ёмкость акумулятора  
            [type] => assortmentCheckBox
            [default] =>  
            [data] => Array
                (
                    [0] => Array
                        (
                            [id] => 69
                            [prop_id] => 13
                            [prop_data_id] => 34
                            [product_id] => 1
                            [name] => 200 mAh
                            [margin] =>  
                            [type_view] =>  
                            [active] => 1
                            [name_orig] => 200 mAh
                            [margin_orig] =>  
                        )
 
                    [1] => Array
                        (
                            [id] => 70
                            [prop_id] => 13
                            [prop_data_id] => 35
                            [product_id] => 1
                            [name] => 450mAh
                            [margin] =>  
                            [type_view] =>  
                            [active] => 0
                            [name_orig] => 450mAh
                            [margin_orig] =>  
                        )
 
                )
 
            [all_category] => 0
            [activity] => 1
            [sort] => 13
            [filter] => 0
            [description] =>  
            [type_filter] => checkbox
            [1c_id] =>  
            [plugin] =>  
            [unit] =>  
            [group_id] => 0
        )
 
    [12] => Array
        (
            [prop_id] => 12
            [type_view] =>  
            [id] => 12
            [name] => Разрешение видео
            [type] => assortmentCheckBox
            [default] =>  
            [data] => Array
                (
                    [0] => Array
                        (
                            [id] => 67
                            [prop_id] => 12
                            [prop_data_id] => 32
                            [product_id] => 1
                            [name] => 720х489
                            [margin] =>  
                            [type_view] =>  
                            [active] => 1
                            [name_orig] => 720х489
                            [margin_orig] =>  
                        )
 
                    [1] => Array
                        (
                            [id] => 68
                            [prop_id] => 12
                            [prop_data_id] => 33
                            [product_id] => 1
                            [name] => 640х480
                            [margin] =>  
                            [type_view] =>  
                            [active] => 0
                            [name_orig] => 640х480
                            [margin_orig] =>  
                        )
 
                )
 
            [all_category] => 0
            [activity] => 1
            [sort] => 12
            [filter] => 0
            [description] =>  
            [type_filter] => checkbox
            [1c_id] =>  
            [plugin] =>  
            [unit] =>  
            [group_id] => 0
        )
 
)
 


Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 22:24 18-05-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
лексер не подсвечивает его, типа простой текст, а не код php

теги php не забыли?

Всего записей: 9709 | Зарегистр. 20-09-2014 | Отправлено: 22:26 18-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
я понял, что теги нужны уже после отпраки сообщения )
Я знаю только что php начинается с <?php>  это всё что я знаю о пхп
добавлено
Сделал . Получил это в характеристике

Цитата:
Ёмкость акумулятора 200 mAh450mAhРазрешение видео720х489640х480

 
прямо так и есть

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 22:30 18-05-2019 | Исправлено: GEGEMON, 22:32 18-05-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
я понял, что теги нужны уже после отпраки сообщения )

эти теги нужны чтобы интерпретатор понимал, где идет php код, а где просто текст.
 

Код:
<?php
foreach($data['thisUserFields'] as $field) {  
echo $field['name'];  
foreach($field['data'] as $data) {  
  echo $data['name'];  
}}
?>

 

Цитата:
прямо так и есть

так и есть, потому что выводит все подряд. далее уже ваше дело оформить вывод так, как хочется.

Всего записей: 9709 | Зарегистр. 20-09-2014 | Отправлено: 22:32 18-05-2019 | Исправлено: Mavrikii, 22:33 18-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii - пост
Цитата:
 ваше дело оформить вывод так, как хочется.

с хтмл'ом я бы еще мог что-то сделать, а здесь чистый пхп, он выводит все характеристики и все же значения разом! Нихера я тут не сделаю.
Я почему выложил код с шаблона где работает нормально - вам же понятно где там и что, можно ведь выдернуть кусок и вставить в другой шаблон? Я пытался канешна, как я понимаю, но не получилось. Поменял только классы у дивов, но увы...

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 22:48 18-05-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10

Компьютерный форум Ru.Board » Интернет » Web-программирование » Простенький вопрос по PHP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru