Цитата |
---|
Андрей Тимофеев написал: На сколько я понимаю игра должна выводиться на отдельной странице. Предполагаю что проблема с перемещением скриптов и, тем самым, нарушением её логики. Попробуйте вот такой код: |
13.04.2020 15:00:11
|
|||
|
13.04.2020 09:17:45
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $APPLICATION->SetTitle("Игры"); ?><div style="text-align: center;"> </div> <?$APPLICATION->IncludeComponent( "bitrix:main.include", ".default", array( "AREA_FILE_SHOW" => "file", "AREA_FILE_SUFFIX" => "inc", "EDIT_TEMPLATE" => "/shashki/game.html", "PATH" => "/shashki/game.html", "COMPONENT_TEMPLATE" => ".default", "COMPOSITE_FRAME_MODE" => "A", "COMPOSITE_FRAME_TYPE" => "AUTO", "AREA_FILE_RECURSIVE" => "Y" ), false );?> <br><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> Попробую посмотреть экранирование и синтаксис вывода строк в javascript (ибо я перебробовал разнообразие до безобразия в ТП битриксе сразу писали, что все делаю правильно (то есть вставка данных в пхп страницу и прочее, в итоге мне проще сделать отдельную от сайта страницу (разумеется без хедера и футера). В плане картинок, у меня все просто (ссылаются они в корень папки, в корень сайта также их скину (временно без директории) . И еще удивительная вещь, например если игра шашки не хочет работать, то вот такой код, работает))) по ссылке: <title>Крестики-Нолики</title> <style> .tbl, .tbl td {border:1px solid #82817D;} </style> <script> var x = "x.gif";var o = "o.gif"; var blank = "z.gif";var pause = 0;var all = 0;var a = 0;var b = 0; var c = 0;var d = 0;var e = 0;var f = 0;var g = 0;var h = 0;var i = 0;var temp="";var ok = 0; var cf = 0;var choice=9;var aRandomNumber = 0;var comp = 0; var t = 0;var wn = 0;var ls = 0;var ts = 0; function logicOne() { if ((a==1)&&(b==1)&&(c==1)) all=1;if ((a==1)&&(d==1)&&(g==1)) all=1;if ((a==1)&&(e==1)&&(i==1)) all=1; if ((b==1)&&(e==1)&&(h==1)) all=1;if ((d==1)&&(e==1)&&(f==1)) all=1;if ((g==1)&&(h==1)&&(i==1)) all=1; if ((c==1)&&(f==1)&&(i==1)) all=1;if ((g==1)&&(e==1)&&(c==1)) all=1;if ((a==2)&&(b==2)&&(c==2)) all=2; if ((a==2)&&(d==2)&&(g==2)) all=2;if ((a==2)&&(e==2)&&(i==2)) all=2;if ((b==2)&&(e==2)&&(h==2)) all=2; if ((d==2)&&(e==2)&&(f==2)) all=2;if ((g==2)&&(h==2)&&(i==2)) all=2;if ((c==2)&&(f==2)&&(i==2)) all=2; if ((g==2)&&(e==2)&&(c==2)) all=2; if ((a != 0)&&(b != 0)&&(c != 0)&&(d != 0)&&(e != 0)&&(f != 0)&&(g != 0)&&(h != 0)&&(i != 0)&&(all == 0)) all = 3;} function logicTwo() { if ((a==2)&&(b==2)&&(c== 0)&&(temp=="")) temp="C";if ((a==2)&&(b== 0)&&(c==2)&&(temp=="")) temp="B"; if ((a== 0)&&(b==2)&&(c==2)&&(temp=="")) temp="A";if ((a==2)&&(d==2)&&(g== 0)&&(temp=="")) temp="G"; if ((a==2)&&(d== 0)&&(g==2)&&(temp=="")) temp="D";if ((a== 0)&&(d==2)&&(g==2)&&(temp=="")) temp="A"; if ((a==2)&&(e==2)&&(i== 0)&&(temp=="")) temp="I";if ((a==2)&&(e== 0)&&(i==2)&&(temp=="")) temp="E"; if ((a== 0)&&(e==2)&&(i==2)&&(temp=="")) temp="A";if ((b==2)&&(e==2)&&(h== 0)&&(temp=="")) temp="H"; if ((b==2)&&(e== 0)&&(h==2)&&(temp=="")) temp="E";if ((b== 0)&&(e==2)&&(h==2)&&(temp=="")) temp="B"; if ((d==2)&&(e==2)&&(f== 0)&&(temp=="")) temp="F";if ((d==2)&&(e== 0)&&(f==2)&&(temp=="")) temp="E"; if ((d== 0)&&(e==2)&&(f==2)&&(temp=="")) temp="D";if ((g==2)&&(h==2)&&(i== 0)&&(temp=="")) temp="I"; if ((g==2)&&(h== 0)&&(i==2)&&(temp=="")) temp="H";if ((g== 0)&&(h==2)&&(i==2)&&(temp=="")) temp="G"; if ((c==2)&&(f==2)&&(i== 0)&&(temp=="")) temp="I";if ((c==2)&&(f== 0)&&(i==2)&&(temp=="")) temp="F"; if ((c== 0)&&(f==2)&&(i==2)&&(temp=="")) temp="C";if ((g==2)&&(e==2)&&(c== 0)&&(temp=="")) temp="C"; if ((g==2)&&(e== 0)&&(c==2)&&(temp=="")) temp="E";if ((g== 0)&&(e==2)&&(c==2)&&(temp=="")) temp="G";} <!-- web-mastery.info --> function logicThree() { if ((a==1)&&(b==1)&&(c==0)&&(temp=="")) temp="C";if ((a==1)&&(b==0)&&(c==1)&&(temp=="")) temp="B"; if ((a==0)&&(b==1)&&(c==1)&&(temp=="")) temp="A";if ((a==1)&&(d==1)&&(g==0)&&(temp=="")) temp="G"; if ((a==1)&&(d==0)&&(g==1)&&(temp=="")) temp="D";if ((a==0)&&(d==1)&&(g==1)&&(temp=="")) temp="A"; if ((a==1)&&(e==1)&&(i==0)&&(temp=="")) temp="I";if ((a==1)&&(e==0)&&(i==1)&&(temp=="")) temp="E"; if ((a==0)&&(e==1)&&(i==1)&&(temp=="")) temp="A";if ((b==1)&&(e==1)&&(h==0)&&(temp=="")) temp="H"; if ((b==1)&&(e==0)&&(h==1)&&(temp=="")) temp="E";if ((b==0)&&(e==1)&&(h==1)&&(temp=="")) temp="B"; if ((d==1)&&(e==1)&&(f==0)&&(temp=="")) temp="F";if ((d==1)&&(e==0)&&(f==1)&&(temp=="")) temp="E"; if ((d==0)&&(e==1)&&(f==1)&&(temp=="")) temp="D";if ((g==1)&&(h==1)&&(i==0)&&(temp=="")) temp="I"; if ((g==1)&&(h==0)&&(i==1)&&(temp=="")) temp="H";if ((g==0)&&(h==1)&&(i==1)&&(temp=="")) temp="G"; if ((c==1)&&(f==1)&&(i==0)&&(temp=="")) temp="I";if ((c==1)&&(f==0)&&(i==1)&&(temp=="")) temp="F"; if ((c==0)&&(f==1)&&(i==1)&&(temp=="")) temp="C";if ((g==1)&&(e==1)&&(c==0)&&(temp=="")) temp="C"; if ((g==1)&&(e==0)&&(c==1)&&(temp=="")) temp="E";if ((g==0)&&(e==1)&&(c==1)&&(temp=="")) temp="G";} function clearOut() { document.game.you.value="0"; document.game.computer.value="0"; document.game.ties.value="0";} function checkSpace() { if ((temp=="A")&&(a==0)) {ok=1;if (cf==0) a=1;if (cf==1) a=2;} if ((temp=="B")&&(b==0)) {ok=1;if (cf==0) b=1;if (cf==1) b=2;} if ((temp=="C")&&(c==0)) {ok=1;if (cf==0) c=1;if (cf==1) c=2;} if ((temp=="D")&&(d==0)) {ok=1;if (cf==0) d=1;if (cf==1) d=2;} if ((temp=="E")&&(e==0)) {ok=1;if (cf==0) e=1;if (cf==1) e=2;} if ((temp=="F")&&(f==0)) {ok=1;if (cf==0) f=1;if (cf==1) f=2;} if ((temp=="G")&&(g==0)) {ok=1;if (cf==0) g=1;if (cf==1) g=2;} if ((temp=="H")&&(h==0)) {ok=1;if (cf==0) h=1;if (cf==1) h=2;} if ((temp=="I")&&(i==0)) {ok=1;if (cf==0) i=1;if (cf==1) i=2;}} function yourChoice(chName) { pause = 0; if (all!=0) ended(); if (all==0) { cf = 0;ok = 0;temp=chName; checkSpace(); if (ok==1) {document.images[chName].src = x;} if (ok==0)taken(); process(); if ((all==0)&&(pause==0)) myChoice();}} function taken() {alert("Квадрат уже занят!") pause=1;} function myChoice() { temp="";ok = 0;cf=1;logicTwo();logicThree();checkSpace(); while(ok==0) { aRandomNumber=Math.random() comp=Math.round((choice-1)*aRandomNumber)+1; if (comp==1) temp="A";if (comp==2) temp="B";if (comp==3) temp="C";if (comp==4) temp="D";if (comp==5) temp="E"; if (comp==6) temp="F";if (comp==7) temp="G";if (comp==8) temp="H";if (comp==9) temp="I"; checkSpace();} document.images[temp].src= o; process();} function ended() {alert("Для начала новой игры нажмите кнопку.")} function process() { logicOne(); if (all==1){ alert("Вы выиграли! Поздравляем!"); wn++; } if (all==2){ alert("Вы проиграли."); ls++; } if (all==3){ alert("Мы сыграли вничью."); ts++; } if (all!=0) { document.game.you.value = wn; document.game.computer.value = ls; document.game.ties.value = ts;}} function playAgain() { if (all==0) {if(confirm("Сейчас произойдет сброс счета и начнется новый тур.")) reset();} if (all>0) reset();} function reset() { all = 0;a = 0;b = 0;c = 0;d = 0;e = 0;f = 0;g = 0;h = 0;i = 0;temp="";ok = 0;cf = 0;choice=9; aRandomNumber = 0;comp = 0; document.images.A.src= blank;document.images.B.src= blank;document.images.C.src= blank; document.images.D.src= blank;document.images.E.src= blank;document.images.F.src= blank; document.images.G.src= blank;document.images.H.src= blank;document.images.I.src= blank; if (t==0) { t=2; myChoice(); } t--;} <!-- Maximilian Stocker --> </script> </head> <body> <form name=game> <table class="tbl" align="center"><tr> <td><a href="jav * ascript:yourChoice('A')"><img src="z.gif" name=A></a></td> <td><a href="jav * ascript:yourChoice('B')"><img src="z.gif" name=B></a></td> <td><a href="jav * ascript:yourChoice('C')"><img src="z.gif" name=C></a></td></tr><tr> <td><a href="jav * ascript:yourChoice('D')"><img src="z.gif" name=D></a></td> <td><a href="jav * ascript:yourChoice('E')"><img src="z.gif" name=E></a></td> <td><a href="jav * ascript:yourChoice('F')"><img src="z.gif" name=F></a></td></tr><tr> <td><a href="jav * ascript:yourChoice('G')"><img src="z.gif" name=G></a></td> <td><a href="jav * ascript:yourChoice('H')"><img src="z.gif" name=H></a></td> <td><a href="jav * ascript:yourChoice('I')"><img src="z.gif" name=I></a></td> </tr></table> <table class="tbl" align="center"><tr><td> <input type='button' value=" Новая игра " onCl ick="playAgain();"><br> </td> <td> <input type='text' size='5' name='you'><br>Вы</td><td><input type='text' size='5' name='computer'><br>Комп.</td> <td> <input type='text' size='5' name='ties'><br>Ничья</td></tr></table></form> |
|||||
|
13.04.2020 08:33:32
PS: Но увы руководство захотело создать сайтик быстро, битрикс+аспро получилось у меня за 2 недели) По делу: Вставил код, как есть)) Тут и оно, не работает, в тп битрикс пишут, цитата: Далее, написал в поддержку аспро (я у них купил готовый шаблон, чтобы не заморачиваться, там также был послан - мол ничего не знает, код идеален, Вы сам дурак))))) Остается форум... В плане вставки: я ставил как есть (убирал конечно хтмл и бади теги), пробовал включать область, пробовал давать ссылку на файлик при этом весь js на странице есть, но он не отображается... Куда можно копать? Сейчас вставлен вот так: сама страница тут: Буду благодарен за помощь, хех... |
|||
|
09.04.2020 15:39:27
Добрый день! Memcached не работает, на стороне сервера (хостинга) были произведены все работы и в CMS
Сделал, все, как в статье: Кто смог решить вопрос? У меня выкидывает no cash постоянно при запросе: require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); $cache = new CPHPCache(); if ($cache->InitCache(3600, '12356356gt' , '/' )) { echo "cache"; $res = $cache->GetVars(); $arResult = $res['arResult']; } elseif ($cache->StartDataCache()) { echo "no cache"; $arResult = array(1,2,3,4,5); $cache->EndDataCache(array("arResult" => $arResult)); } |
|
|
08.04.2020 17:59:07
Добрый день! Создал новое поле для заполнения данных пользователем
Как его вывести теперь в личный кабинет?? |
|
|
31.03.2020 22:59:24
|
|||
|
31.03.2020 22:02:53
Доброго времени суток!
По ссылке, выбираем любое значение в умном фильтре, получаем полный зависон (режим аджакс и т.п. не помогает) Как можно решить? |
|
|
26.03.2020 17:33:53
Скину код, может кому нужен будет для выгрузки заказа, по сути это недоAPI с 1С 7.7 <?php \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderSaved', 'saleCSVExport' ); function saleCSVExport(\Bitrix\Main\Event $event) { $parameters = $event->getParameters(); $order = $parameters['ENTITY']; if (!$order instanceof \Bitrix\Sale\Order) { return new \Bitrix\Main\EventResult( \Bitrix\Main\EventResult::ERROR, new \Bitrix\Sale\ResultError('Неверный объект заказа', 'SALE_EVENT_WRONG_ORDER'), 'sale' ); } AddMessage2Log($order->getField("STATUS_ID"), "sale"); if($order->getField("STATUS_ID") == "P" && !$order->isCanceled() && !$order->isShipped() ) { $arOrderArray = array(); if (\Bitrix\Main\Loader::includeModule("sale")) { $arOrderArray["ID"]= $order->getId(); header("content-type:application/csv;charset=UTF-8"); header("Pragma: no-cache"); header("Expires: 0"); $file = fopen($_SERVER['DOCUMENT_ROOT'].'/upload/1C/order'.$arOrderArray["ID"].'.csv', 'w'); $table_head = array("ID","SUM","USER_ID","USER_NAME","EMAIL","ADDRESS","PHONE","COMMENT","PAYMENT","SHIPMENT","STORE_ID","PRODUCT_ID","PRODUCT_NAME","PRODUCT_QUANTITY","PRODUCT_PRICE"); fputcsv($file, $table_head, ";"); $arOrderArray["SUM"] = $order->getPrice(); $arOrderArray["USER_ID"] = $order->getField('USER_ID'); $propertyCollection = $order->getPropertyCollection(); if(!empty($propertyCollection->getPayerName())) { $arOrderArray["USER_NAME"] = $propertyCollection->getPayerName()->getValue(); } else { $arOrderArray["USER_NAME"] = 0; } if(!empty($propertyCollection->getUserEmail())) { $arOrderArray["EMAIL"] = $propertyCollection->getUserEmail()->getValue(); } else { $arOrderArray["EMAIL"] = 0; } if(!empty($propertyCollection->getAddress())) { $arOrderArray["ADDRESS"] = $propertyCollection->getAddress()->getValue(); } else { $arOrderArray["ADDRESS"] = 0; } if(!empty($propertyCollection->getPhone())) { $arOrderArray["PHONE"] = $propertyCollection->getPhone()->getValue(); } else { $arOrderArray["PHONE"] = 0; } $comment = $order->getField('USER_DESCRIPTION'); $arOrderArray["COMMENT"] = $subcats= str_replace(';',' ',$comment); if(empty($arOrderArray["COMMENT"])) $arOrderArray["COMMENT"] = 0; $paymentCollection = $order->getPaymentCollection(); $psArray = array(); foreach ($paymentCollection as $payment) { $psArray[] = $payment->getPaymentSystemName(); } $arOrderArray["PAYMENT"] = implode(" ", $psArray); $deliveryCollection = $order->getShipmentCollection(); if(!empty($deliveryCollection->current())) { $arOrderArray["SHIPMENT"] = $deliveryCollection->current()->getField('DELIVERY_NAME'); $storeID = $deliveryCollection->current()->getStoreId(); if(!empty($storeID)) { $storeResult = CCatalogStore::GetList( array('ID' => 'ASC'), array('ACTIVE' => 'Y','ID'=>$storeID), false, false, array("ID","CODE") ); if($storeArray = $storeResult->GetNext()) $storeCode = $storeArray["CODE"]; $arOrderArray["STORE_ID"] = $storeCode; } else { $arOrderArray["STORE_ID"] = 0; } } $basket = $order->getBasket(); foreach ($basket as $basketItem) { $arProdArray = array(); //$arProdArray["PRODUCT_ID"] = $basketItem->getProductId(); if (\Bitrix\Main\Loader::includeModule("iblock")) { $arSelect = Array("ID", "IBLOCK_ID", "NAME","PROPERTY_*"); $arFilter = Array("ID"=> $basketItem->getProductId(), "ACTIVE"=>"Y"); $prodRes = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect); $arProdArray["PRODUCT_NAME"] = []; while($ob = $prodRes->GetNextElement()){ $arProps = $ob->GetProperties(); $arProdArray["ARTICLE"] = $arProps["CML2_ARTICLE"]["VALUE"]; $arProdArray["PRODUCT_NAME"][] = $ob->getFields()['NAME']; } $arProdArray["PRODUCT_NAME"] = implode(', ', $arProdArray["PRODUCT_NAME"]); } $arProdArray["PRODUCT_QUANTITY"] = $basketItem->getQuantity(); $arProdArray["PRODUCT_PRICE"] = $basketItem->getPrice(); $arRow = array_merge($arOrderArray, $arProdArray); fputcsv($file, $arRow, ";"); //AddMessage2Log($arRow, "sale"); } fclose($file); } } } if (file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/include/agents.php")) require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/include/agents.php"); ?> |
|||||||||
|
19.01.2020 20:57:18
Добрый день! Помогите, пожалуйста, новичку решить вопрос с выводом доп полей в форму регистрации и в профиль в личном кабинете?
На данный момент, нашел инфо по созданию доп поля, оно создано и есть в админке: Я пытаюсь его вывести в личный кабинет пользователя сюда: Личный кабинет-Персональные данные-личные данные: На данный момент, поле отчество играет роль "номер дисконтной карты" (Как говориться, костыли, но работают...) ) Нужно под ним вывести новое созданное. Также при регистрации на сайте, тоже хочу добавить... Спасибо заранее за помощь, кто отозвался. PS: Битрикс+шаблон аспро некст у меня... |
|
|