любой программист работать за небольшие деньги. Вот это и есть главная ошибка. Вы когда покупаете себе бытовую технику домой - вы хотите чтобы это бла НЕМЕЦКАЯ техника СОБРАННАЯ НЕМЕЦКИМ инженером, а не какае-то китайская пластиковая погремушка. Но при этом с виду на полке в магазине и BOSH и СуньДженьСуперКрпорейшен будет выглядеть одинаково и даже некоторое время китаец будет работать так же ка немец. вопрос в надежности, ремонтопригодности, расходниках и всего остального что называется расходы на ВЛАДЕНИЕ. Так вот СДЕЛАТЬ и ЗАПУСТИТЬ сайт/магазин на 1000 товаров сегодня можно за пару дней - есть куча ГОТОВЫХ решений как платных так и бесплатных. И расходы на запуск это может 1/100 от всех будущих расходов на РАЗВИТИЕ сайта. А поддерживать и развивать сайт надо и на OpenCart и на Битрикс и на Laravel, даже на Tilda и то вам потребуются доработки, когда ваши хотелки превысят возможность конструктора. OpenCart ничем не лучше и не хуже любой другой платформы. И стоимость часа разработчика не сильно зависит на чем ваш магазин будет. Вам главное будет найти адекватную команду
Array
(
[result] => Array
(
[0] => Array()
[1] => Array()
.....
[49] => Array()
[next] => 50
[total] => 2387743
[time] => Array
(
[start] => 1581607213.4833
[finish] => 1581607263.3997
[duration] => 49.916450023651
[processing] => 49.899916887283
[date_start] => 2020-02-13T18:20:13+03:00
[date_finish] => 2020-02-13T18:21:03+03:00
)
)
$params['filter']=$filter;
$params['select']=$select;
$total=$result[''total'];
$start= $result[''next'];
while($start<$total){
$params['start']=$start;
/////запрос
$resOffset=CRest::call('user.get', $params);
$start+=$resOffset['next'];
$result=array_merge($result,$resOffset);
}
catalog.product.getFieldsByFilter/
{
"filter":{
"iblockId": IBLOCK_CATALOG_B24,
"productType":1
}
}
catalog.product.list/
{
"select":["id", "iblockId"],
"filter":{
"iblockId": IBLOCK_CATALOG_B24,
"xmlId":"28342081"
}
}
function togleTabs(elemId) {
$(".tab_content").hide();
var activeTab = elemId;
$("#" + activeTab).fadeIn();
$("ul.tabs li").removeClass("active");
$('[rel="'+elemId+'"]').addClass("active");
$(".tab_drawer_heading").removeClass("d_active");
$(".tab_drawer_heading[rel^='" + activeTab + "']").addClass("d_active");
}
function updateTabs() {
if (now_no_active >= no_active_delay) {
// Проверяем не превышен
elemId = "tabs1";
togleTabs(elemId);
$("ul.tabs li").addClass("active");
activeUser();
}
$(".tab_content").hide();
$(".tab_content:first").show();
/* if in tab mode */
$("ul.tabs li").click(function () {
var activeTab = $(this).attr("rel");
togleTabs(activeTab);
});
function togleTabs(elemId){
$(".tab_content").hide();
var activeTab = elemId
$("#" + activeTab).fadeIn();
$("ul.tabs li").removeClass("active");
$(this).addClass("active");
$(".tab_drawer_heading").removeClass("d_active");
$(".tab_drawer_heading[rel^='" + activeTab + "']").addClass("d_active");
}
$(".tab_drawer_heading").click(function () {
$(".tab_content").hide();
var d_activeTab = $(this).attr("rel");
$("#" + d_activeTab).fadeIn();
$(".tab_drawer_heading").removeClass("d_active");
$(this).addClass("d_active");
$("ul.tabs li").removeClass("active");
$("ul.tabs li[rel^='" + d_activeTab + "']").addClass("active");
});
$("ul.tabs li").last().addClass("tab_last");
var no_active_delay = 5; // Количество секунд простоя мыши, при котором пользователь считается неактивным
var now_no_active = 0; // Текущее количество секунд простоя мыши
setInterval("now_no_active++;", 1000); // Каждую секунду увеличиваем количество секунд простоя мыши
setInterval("updateTabs()", 1000); // Запускаем функцию updateChat() через определённый интервал
document.onmousemove = activeUser; // Ставим обработчик на движение курсора мыши
function activeUser() {
now_no_active = 0; // Обнуляем счётчик простоя секунд
}
function updateTabs() {
if (now_no_active >= no_active_delay) {
// Проверяем не превышен
elemId="tabs1"
togleTabs(elemId)
activeUser();
}
}
$strNeedle='что ищем';
$content=file_get_contents();
$arContetnt=implode('<|>',$content);//превращаем строку в массив
$res=array_filter($arContetnt, function ($item) use ($strNeedle){
return $item===$strNeedle;
});// выводим значение из массива.
$res=strpos($content,$strNeedle);//первое вхождение