Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

lakbor

Users
  
  • Posts

    91
  • Joined

  • Last visited

Everything posted by lakbor

  1. Если не принципиально чтобы вся админка работала по новому пути, то можно сделать редирект с /админ/логин на /админ, либо сделать каталог /админ/логин/, там сделать index.php с формой авторизации и потом перенаправлять на /админ
  2. Нечто подобное не пробовали? RewriteCond %{REQUEST_URI} !^/статика1 RewriteCond %{REQUEST_URI} !^/статика2 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ http://сайт/brends/$1 [L,R=301]
  3. если я правильно понял, то: сделайте отдельную кнопку, например .var-comments-delete На её нажатие сделайте обработчик (тот скрипт оставьте на случай если надо будет поштучно удалять): $('.var-comments-delete').click(function(){ $.map( $(".box:checked"), function(el){ return $(el); }).each(function(){ //делаю предположение, что эта строка вытягивает нужные вам строки, (я бы написал по-другому, но не вижу код страницы, поэтому оставил так) gems = $(this).find('input'); $.ajax({ url: 'index.php?route=module/comments/deleteComment&token=<?php echo $token; ?>', type: 'post', data: gems, dataType: 'json', beforeSend: function() { console.log(gems); }, error: function (json) { console.log(json); }, success: function(json) { console.log(json); // location.reload(); } }); return false; }); }); второй вариант переделать контроллер, чтобы он массив обрабатывал
  4. RewriteCond %{REQUEST_URI} ^/index.php$ RewriteCond %{QUERY_STRING} ^\z RewriteRule ^(.*)$ http://site.ru/? [R=301,L] try this должно редиректить если index.php без параметров
  5. в файл .htaccess добавьте RewriteCond %{REQUEST_URI} /index.php RewriteRule ^(.*)$ http://site.ru/ [R=301,L]
  6. 1. можно пушнуть в конец массива маркер и проверять в каждой итерации его достижение (ресурсрёмко) 2. можно перед циклом count(), а в цикле счётчик и проверка достижения последнего элемента 3. можно перед циклом array_pop(), потом перебрать стд циклом, а выдранный элемент отобразить отдельно
  7. Вы наверное не смотрели код модуля. В плане интерфейсов он работает как сеопро, работает с той же таблицей url_alias. Не вижу причин, по которым какой-то модуль может не заработать с seobro. Да, если решить с него откатиться на сеопро или сеоурл, то будет мучительно больно, тут не спорю. Давайте ради эксперимента, скажите с какими модулями потестить работоспособность (бесплатные разумеется), а то вы уже в который раз упоминаете про несовместимость, но какие именно модули могут не заработать - не называете.
  8. стандарт - не стандарт... я читал ваши холивары на тему ОС 3й версии. и ой вэй, о каких стандартах может идти речь, если с выходом каждой новой ветки ОС мы получаем сильно несовместимые релизы? пожалуй единственное, что остаётся неизменным, это как раз таблица url_alias)) а если говорить о "стандартах" в рамках одной ветки, то иногда возникают нестандартные потребности, которые о-боже-как-же-решить-конечно-велосипедом. в общем, вы не переживайте, я всегда и всем по нескольку раз повторяю что это нестандартное решение и всё такое, и люди в курсе что они получают. ЗЫ - seo_bro уже 4+ месяца на продакшене работает
  9. Если вы про обычные теги для сео, то keywords сейчас не нужны, для продвижения остаются H1, title, description, ну и тексты, юзабилити, итд)
  10. Это метаинформация для, например, репоста в соцсетях. протокол Open Graph. для сео ничего страшного Подробнее: http://pr-cy.ru/news/p/5407
  11. Для начала хорошо бы удалить этот "спам" из футера
  12. Скорее всего вот отсюда http://joxi.ru/Q2K1WJMuDPzxrj Гугл собирает инфу для создания сниппета по всей странице
  13. http://joxi.ru/eAOW348u1M4xAo http://joxi.ru/ZrJkLqxHVX1Nmj 1 - что, 2 - куда
  14. Я так, чисто на всякий случай уточню, вы хтмл-теги вводите в режиме кода? или в визуальном редакторе?
  15. Я думаю, я выражу общее мнение, что мы занимаемся гаданием на кофейной гуще. Здесь надо отслеживать где происходит замена хттпс на хттп, или почему не происходит изначальная подстановка хттпс к урлам. На ВСЁМ вашем сайте все урлы идут через хттп. и форм экшены в том числе. (то что вы не можете зайти в админку это только малая часть проблемы). по-моему только гуглапи подключается через хттпс. здесь что-то не то творится в контроллерах. поэтому вам нужно или предоставить кому-нибудь доступ к фтп или ссш (кому-то кто понимает как в окарте формируются урлы), или самому копаться в контроллерах.
  16. переходить - да, но этот файл не имеет никакого отношения к формированию урлов на сайте
  17. хтаксесс тут ни при чём, за формирование урла отвечает контролер. проверьте в БД, таблица setting http://joxi.ru/8AnbP01cZjvkAO
  18. У вас и на сайте все формы через хттп. (т.е. не работает авторизация, регистрация и иже с ими.) В настройках сайта: http://joxi.ru/Y2LQZq1ik9zwA6
  19. Доброго всем дня! По просьбам трудящихся выкладываю код для OC второй версии) Скачал: ocStore 2.1.0.2.1 Во-первых, сразу предупреждаю: ВНИМАНИЕ! Все изменения, вносимые в код вы делаете на свой страх и риск, все файлы советую бэкапить, В ТОМ ЧИСЛЕ БАЗУ ДАННЫХ! Во-вторых, этот код писался под мой любимый ocStore, поэтому для чистого Opencart и его просто русифицированных версий будет отличаться. Итак, во-первых, как и раньше, лезем в файл: /admin/controller/catalog/category.php там перед последней фигурной скобкой } вставляем следующий код: /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public function my_copy() { $this->load->language('catalog/category'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('catalog/category'); if (isset($this->request->post['selected'])) { foreach ($this->request->post['selected'] as $category_id) { $this->my_copycat($category_id); } } $this->getList(); } private function my_copycat($cid) { // GET LAST CID $query_id = $this->db->query("SELECT * FROM " . DB_PREFIX . "category;"); $last_cid=0; foreach ($query_id->rows as $qqqq) { if ($last_cid < (int)$qqqq['category_id']) { $last_cid = (int)$qqqq['category_id']; } } ++$last_cid; // 1-st QUERY ('category' DB) $qq = "SELECT * FROM " . DB_PREFIX . "category WHERE category_id = " . $cid . ";"; $query = $this->db->query($qq); $my_category = array(); foreach ($query->rows as $qqqq) { foreach ($qqqq as $mkey => $mval) { if ($mval == '') { $my_category[$mkey] = 'NULL'; } else { $my_category[$mkey] = $mval; } } } // 2-nd QUERY ('category_description' DB) $qq = "SELECT * FROM " . DB_PREFIX . "category_description WHERE category_id = " . $cid . ";"; $query = $this->db->query($qq); $my_category_description = array(); $j=0; foreach ($query->rows as $qqqq) { foreach ($qqqq as $mkey => $mval) { if ($mval == '') { $my_category_description[$j][$mkey] = 'NULL'; } else { $my_category_description[$j][$mkey] = $mval; } } $j++; } // 3-rd QUERY ('category_to_store' DB) $qq = "SELECT * FROM " . DB_PREFIX . "category_to_store WHERE category_id = " . $cid . ";"; $query = $this->db->query($qq); $my_category_to_store = array (); foreach($query->rows as $qqqq){ foreach ($qqqq as $mkey => $mval) { $my_category_to_store[$mkey] = $mval; } } // READING ENDED // READING ENDED // READING ENDED // WRITING TO DATABASE!!! // WRITING TO DATABASE!!! // WRITING TO DATABASE!!! //INS 1st ARRAY $qs = ', '; $qq_values = $last_cid . $qs . '\'' . $my_category['image'] . '\''. $qs . $my_category['parent_id'] . $qs . $my_category['top'] . $qs . $my_category['column'] . $qs . $my_category['sort_order'] . $qs . $my_category['status'] . ', \'' . $my_category['date_added'] . '\', \'' . $my_category['date_modified'] . '\''; $qq = 'INSERT INTO ' . DB_PREFIX . 'category (`category_id` ,`image` ,`parent_id` ,`top` ,`column` ,`sort_order` ,`status` ,`date_added` ,`date_modified`) VALUES (' . $qq_values . ');'; $query = $this->db->query($qq); //INS 2nd ARRAY $li = 0; $qs = ', '; while ($li < sizeof($my_category_description)) { $qq_values = $last_cid . $qs . $my_category_description[$li]['language_id'] . ', \'' . $my_category_description[$li]['name'] . '\', \'' . $my_category_description[$li]['description'] . '\', \'' . $my_category_description[$li]['meta_description'] . '\', \'' . $my_category_description[$li]['meta_keyword'] . '\', \'' . $my_category_description[$li]['meta_title'] . '\', \'' . $my_category_description[$li]['meta_h1'] . '\''; $qq = 'INSERT INTO ' . DB_PREFIX . 'category_description VALUES (' . $qq_values . ');'; $query = $this->db->query($qq); $li++; } //INS 3rd ARRAY $qq = 'INSERT INTO ' . DB_PREFIX . 'category_to_store VALUES (' . $last_cid . ', ' . $my_category_to_store['store_id'] . ');'; $query = $this->db->query($qq); // WRITING COMPLETED!!! // WRITING COMPLETED!!! // WRITING COMPLETED!!! } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Далее, в этом же файле перед: $data['add'] = $this->url->link('catalog/category/add', 'token=' . $this->session->data['token'] . $url, 'SSL'); вставляем: $data['copy'] = $this->url->link('catalog/category/my_copy', 'token=' . $this->session->data['token'], 'SSL'); Теперь переходим к файлу: /admin/view/template/catalog/category_list.tpl В нём, в самом начале после: <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> Вставляем: <a onclick="$('#form-category').attr('action', '<?php echo $copy; ?>'); $('#form-category').submit();" class="btn btn-warning"><?php echo 'Copy Category'; ?></a> Класс кнопки может быть вместо btn-warning следующим: btn-default (белая) btn-primary (синяя) btn-success (зелёная) btn-info (голубая) btn-warning (желтая) btn-danger (красная) btn-link (в виде ссылки) Вот, собственно, и всё. Ещё раз - делайте бэкапы! May the Force be with you! P.S. Также поступило предложение заморочиться, чтобы копировалась не только сама категория, но и рекрсивно все подкатегории. Что ж, как будет время реализую) P.P.S. Весь мусорный отладочный выврд убрал, код работает чисто.
  20. Рискну предположить, что будет примерно так: Вариант с разметкой под Bootstrap: <?php if ($attribute_groups) { ?> <div class="row"> <?php $cc = count($attribute_group['attribute']) / 2; $slice1 = array_slice($attribute_group['attribute'], 0, $cc); $slice2 = array_slice($attribute_group['attribute'], $cc); ?> <div class="col-sm-6"> <?php foreach ($slice1 as $attribute) { ?> <!--1й столбец--><?php echo $attribute['name']; ?> <?php echo $attribute['text']; ?><br /><!-- /1й столбец--> <?php } ?> </div> <div class="col-sm-6"> <?php foreach ($slice2 as $attribute) { ?> <!--2й столбец--><?php echo $attribute['name']; ?> <?php echo $attribute['text']; ?><br /><!-- /2й столбец--> <?php } ?> </div> </div> <?php } ?>
  21. 1. не за что) 2. странно, что раньше не было, хром всегда так отображает, но при этом он показывает (у меня) нормальную красивую структуру, а вот ФФ не церемонится и выдаёт как есть сплошным текстом) если что - вывод можно проверить на сайте http://bertal.ru/ там отметьте галочку "показать хтмл-код страницы" и увидите натуральный вывод AS-IS, так сказать
  22. Это реакция Хрома, не переживайте, всё норм выводится
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.