Множественное добавление в корзину bitrix
В битриксе его нет, лол ок.
Можно сделать через массив айди и кодовую фразу с редиректом в корень.
Что бы не лезть в компоненту, запишем все в афтер_коннект.пхп
По желанию в Add2BasketByProductID можно передать кастомные параметры
Можно сделать через массив айди и кодовую фразу с редиректом в корень.
Что бы не лезть в компоненту, запишем все в афтер_коннект.пхп
if (@$_GET["action"] == "ADD2BASKET" && is_array(@$_GET["id"])) {
if (CModule::IncludeModule("catalog")){
foreach ($_GET["id"] as $id)
Add2BasketByProductID($id,1);
}
header ("Location: ?");die();
}По желанию в Add2BasketByProductID можно передать кастомные параметры
- 0
- 13 февраля 2012, 06:11
- admin
- Оставить комментарий
Получить файлы с базы одним запросом
$res = CFile::GetList(array("ID"=>"asc"), array("@ID" => implode(",",$collect_imgs)));
while($res_arr = $res->GetNext()) {
$res_arr["SRC"] = "/upload/".$res_arr["SUBDIR"]."/".$res_arr["FILE_NAME"];
$arResult["YOURIMAGES"][$res_arr["ID"]] = $res_arr;
}Где $collect_imgs — массив айдишников картинок
- 0
- 12 февраля 2012, 16:42
- admin
- Оставить комментарий
Табличные шаблоны компонент в Битриксе
Как же я хуею, от этого убожества.
Столько лет на рынке, они все на месте, все убогие таблички, во всех компонентах БЛЯ.
Буду сюда выкладывать компоненты, в которых буду удалять таблицы, и их стили.
Со временем.
Столько лет на рынке, они все на месте, все убогие таблички, во всех компонентах БЛЯ.
Буду сюда выкладывать компоненты, в которых буду удалять таблицы, и их стили.
Со временем.
- 0
- 02 декабря 2011, 04:38
- admin
- Оставить комментарий
Везде форма логина/меню заблокированы
Вы перенесли сайт на новое место, а везде для анонимуса показывается форма логина, все меню заблокированы? Не беда! :)
Первым делом в настройках сайта убираете/прописываете наново путь к сайту на диске.
Не помогло, руки не стали расти выше? :)
Тогда вам нужно в корне сайта, создать/отредактировать файл .access.php! Да, все правильно, начинается на точку (стандартный фтп-манагер такие файлы может не видеть, так как в UNIX системах они называются скрытые — копните настройки)
А в файле должна появится строчка:
Не забываем, что это пыхапы файл ;)
Первым делом в настройках сайта убираете/прописываете наново путь к сайту на диске.
Не помогло, руки не стали расти выше? :)
Тогда вам нужно в корне сайта, создать/отредактировать файл .access.php! Да, все правильно, начинается на точку (стандартный фтп-манагер такие файлы может не видеть, так как в UNIX системах они называются скрытые — копните настройки)
А в файле должна появится строчка:
$PERM["/"]["*"]="R";Не забываем, что это пыхапы файл ;)
<?
$PERM["/"]["*"]="R";
?>
- 0
- 18 ноября 2011, 05:11
- admin
- Оставить комментарий
Файл авторизации auth.php
<? define("NEED_AUTH", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
if (isset($_REQUEST["backurl"]) && strlen($_REQUEST["backurl"])>0) LocalRedirect($backurl);
$APPLICATION->SetTitle("Authorization"); ?>
<script type="text/javascript">
location.href="/";
</script>
<p><a href="<?=SITE_DIR?>">Go to main page</a></p>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
- 0
- 18 ноября 2011, 05:05
- admin
- Оставить комментарий
Самый обычный .htaccess для битрикса
Options -Indexes
ErrorDocument 404 /404.php
#php_flag allow_call_time_pass_reference 1
#php_flag session.use_trans_sid off
#php_value display_errors 1
php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
</IfModule>
- 0
- 18 ноября 2011, 04:50
- admin
- Оставить комментарий
Обычная 404 страница
<? # заголовки 404, что бы поисковики были умничками
CHTTP::SetStatus("404 Not Found"); // может убивать некоторые серваки
@define("ERROR_404","Y");
# для 404 картинок отдаём пустышку
$arrImage = array("jpg","bmp","jpeg","jpe","gif","png");
$arrPath = pathinfo($_SERVER["REQUEST_URI"]);
if (in_array($arrPath["extension"],$arrImage)) die();
# делаем редирект, если он есть в правилах
include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/urlrewrite.php');
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("404 - страница не найдена"); ?>
<? $APPLICATION->IncludeComponent("bitrix:main.map", ".default", array(
"CACHE_TYPE" => "N",
"CACHE_TIME" => "3600",
"SET_TITLE" => "Y",
"LEVEL" => "3",
"COL_NUM" => "2",
"SHOW_DESCRIPTION" => "Y"
),
false
);?>
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); ?>
- 0
- 18 ноября 2011, 04:49
- admin
- Оставить комментарий
Простые страницы
С дизайном:
Без дизайна:
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Hello word"); ?>
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
Без дизайна:
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("iblock"); ?>
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php"); ?>
- 0
- 18 ноября 2011, 04:42
- admin
- Оставить комментарий
Подсветки PHP в редакторе
Для реализации подсветки php-синтаксиса в редакторе, вставляем в /bitrix/php_interface/init.php следующее:
<?
# code writen by Евгений Петриченко http://me.lt/327sA
if ($_SERVER['SCRIPT_NAME']=="/bitrix/admin/fileman_file_edit.php")
{
AddEventHandler("main", "OnEpilog", "InitPHPHighlight");
function InitPHPHighlight()
{
global $APPLICATION;
$string='<link rel="stylesheet" href="http://codemirror.net/lib/codemirror.css">
<script src="http://codemirror.net/lib/codemirror.js"></script>
<script src="http://codemirror.net/mode/xml/xml.js"></script>
<link rel="stylesheet" href="http://codemirror.net/mode/javascript/javascript.css">
<link rel="stylesheet" href="http://codemirror.net/mode/clike/clike.css">
<script src="http://codemirror.net/mode/javascript/javascript.js"></script>
<script src="http://codemirror.net/mode/php/php.js"></script>
<script src="http://codemirror.net/mode/clike/clike.js"></script>
<style>
.CodeMirror {
overflow: auto;
background:white;
height: 500px;
width: 1000px;
line-height: 1em;
font-family: inherit;
}
.CodeMirror pre{
font-size:15px;
line-height: 1.2em;
}
</style>';
$init='<script type=\'text/javascript\'>
BX.ready(function(){
var nl=document.getElementsByTagName("textarea");
var editor = CodeMirror.fromTextArea(nl[0], {
lineNumbers: true,
matchBrackets: true,
mode: "application/x-httpd-php",
indentUnit: 8,
indentWithTabs: true,
enterMode: "keep",
tabMode: "classic"
});});
</script>';
$APPLICATION->AddHeadString($string);
$APPLICATION->AddHeadString($init);
}
}
?>
- 0
- 19 мая 2011, 04:46
- admin
- Оставить комментарий
Универсальный пустой шаблон для Bitrix
Когда начинаешь кодить, часто делаешь один и те же вещи. Когда есть какие-то заготовки, ещё терпимо, когда нет, приходится писать ручками всё, потому решил выложить для копипаста сюда код обычного шаблона с архивчиком :)
Это будет header.php:
Список файлов:
* script.js — его может и не быть
* template_styles.css — стили сайта
* styles.css — стили контента, может не быть, но лучше разделить, что бы в редакторе было так же как и на сайте
* .styles.php, description.php — служебные файлы: в первом прописываются имена стилей, в другом описание шаблона
Дополнительные файлы:
* pngfix.js, roundie.js, styleie.css, styleie7.css — для поддержки ИЕ6-7, семейки выродков
* jquery.js, user.js — пользовательские скрипты
* fonts.css — пользовательские шрифты
Список компонент:
* админпанель
* меню
* авторизация
* включаемая область (шаблонная и компонент)
* заголовок
Дальше идёт footer.php но там всё проще, оставим код только для для ГуглАналитикс
А теперь ссылочка на архив
Это будет header.php:
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); ?>
<?IncludeTemplateLangFile(__FILE__);?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?=LANG_CHARSET;?>"/>
<? $APPLICATION->ShowMeta("robots")?>
<? $APPLICATION->ShowMeta("keywords")?>
<? $APPLICATION->ShowMeta("description")?>
<title><? $APPLICATION->ShowTitle()?></title>
<link rel="shortcut" href="/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link href="<?=$APPLICATION->GetTemplatePath("fonts.css") ?>" type="text/css" rel="stylesheet" />
<? $APPLICATION->ShowCSS();?>
<? $APPLICATION->ShowHeadStrings()?>
<? $APPLICATION->ShowHeadScripts()?>
<!--[if lte IE 6]>
<script type="text/javascript" src="<?=$APPLICATION->GetTemplatePath("js/pngfix.js") ?>"></script>
<script type="text/javascript">if (document.all) {DD_belatedPNG.fix('img, div, ul, li, a, div img');}</script>
<![endif]-->
<!--[if lte IE 6]><link href="<?=$APPLICATION->GetTemplatePath("styleie.css") ?>" type="text/css" rel="stylesheet" /><![endif]-->
<!--[if IE 7]><link href="<?=$APPLICATION->GetTemplatePath("styleie7.css") ?>" type="text/css" rel="stylesheet" /><![endif]-->
<!--[if lte IE 7]>
<script type="text/javascript" src="<?=$APPLICATION->GetTemplatePath("js/roundie.js") ?>"></script>
<script type="text/javascript">
if (document.all) {
DD_roundies.addRule('.someelmt', '6.9px');
}
</script>
<![endif]-->
<script type="text/javascript" src="<?=$APPLICATION->GetTemplatePath("js/jquery.js")?>"></script>
<script type="text/javascript" src="<?=$APPLICATION->GetTemplatePath("js/user.js")?>"></script>
</head>
<body>
<? $APPLICATION->ShowPanel();?>
<?$APPLICATION->IncludeComponent("bitrix:menu", "", array(
"ROOT_MENU_TYPE" => "top",
"MENU_CACHE_TYPE" => "N",
"MENU_CACHE_TIME" => "3600",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => "",
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "",
"USE_EXT" => "Y"
),
false
);?>
<?$APPLICATION->IncludeComponent("bitrix:system.auth.form", "", Array(
"REGISTER_URL" => "/", // Registration page
"PROFILE_URL" => "/profile/", // Profile page
"SHOW_ERRORS" => "N", // Show errors
),
false
); ?>
<?$APPLICATION->IncludeFile(
$APPLICATION->GetTemplatePath("include_areas/inc.php"),
Array(),
Array("MODE"=>"php")
);?>
<?$APPLICATION->IncludeComponent("bitrix:main.include", ".default", array(
"AREA_FILE_SHOW" => "sect",
"AREA_FILE_SUFFIX" => "edit",
"AREA_FILE_RECURSIVE" => "Y",
"EDIT_TEMPLATE" => "edit_sect.php"
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);?>
<? $APPLICATION->ShowTitle(); ?>
Список файлов:
* script.js — его может и не быть
* template_styles.css — стили сайта
* styles.css — стили контента, может не быть, но лучше разделить, что бы в редакторе было так же как и на сайте
* .styles.php, description.php — служебные файлы: в первом прописываются имена стилей, в другом описание шаблона
Дополнительные файлы:
* pngfix.js, roundie.js, styleie.css, styleie7.css — для поддержки ИЕ6-7, семейки выродков
* jquery.js, user.js — пользовательские скрипты
* fonts.css — пользовательские шрифты
Список компонент:
* админпанель
* меню
* авторизация
* включаемая область (шаблонная и компонент)
* заголовок
Дальше идёт footer.php но там всё проще, оставим код только для для ГуглАналитикс
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
IncludeTemplateLangFile(__FILE__);?>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-yournumber-1");
pageTracker._setDomainName("yourdomain.com");
pageTracker._addOrganic("mail.ru", "q");
pageTracker._addOrganic("rambler.ru", "words");
pageTracker._addOrganic("nigma.ru", "s");
pageTracker._addOrganic("blogs.yandex.ru", "text");
pageTracker._addOrganic("webalta.ru", "q");
pageTracker._addOrganic("aport.ru", "r");
pageTracker._addOrganic("akavita.by", "z");
pageTracker._addOrganic("meta.ua", "q");
pageTracker._addOrganic("bigmir.net", "q");
pageTracker._addOrganic("tut.by", "query");
pageTracker._addOrganic("all.by", "query");
pageTracker._addOrganic("i.ua", "q");
pageTracker._addOrganic("online.ua", "q");
pageTracker._addOrganic("a.ua", "s");
pageTracker._addOrganic("ukr.net", "search_query");
pageTracker._addOrganic("search.com.ua", "q");
pageTracker._addOrganic("search.ua", "query");
pageTracker._addOrganic("poisk.ru", "text");
pageTracker._addOrganic("km.ru", "sq");
pageTracker._addOrganic("liveinternet.ru", "ask");
pageTracker._addOrganic("gogo.ru", "q");
pageTracker._addOrganic("gde.ru", "keywords");
pageTracker._addOrganic("quintura.ru", "request");
pageTracker._initData();
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>А теперь ссылочка на архив