Мигрировал с Google Reader на Tiny Tiny RSS. А с него - на Selfoss

- Posted in Uncategorized by

Мигрировал с Google Reader на Tiny Tiny RSS.

Своё, под боком (более управляемое), выглядит лучше. Чего-то особенного, чтобы переживать и голосовать за выживание именно за Google Reader, у меня не было. Мне нужен веб-ридер, по возможности способный быть мелким и быстрым (без обилия DHTML, AJAX, JS).

Пока запустил его локально на веб-сервере, в принципе ничего не мешает выставить где-то на хостинге и иметь доступ с разных устройств. Есть поддержка многопользователькой конфигурации, так что можно легко нескольким людям пользоваться одной копией TT-RSS.

UPD: ещё есть Selfoss: http://selfoss.aditu.de/. Через несколько месяцев использования TT-RSS понял, что Selfoss для меня удобнее, так с ним и остался.

Opencart 1.5.5 (admin): показ SEO Keyword в списке категорий

- Posted in Uncategorized by

Добавляется колонка на странице категорий в админ-части:

Для предыдущий версий - см. список связанных статей внизу.

commit 078537f3d45ecbf7908169e55251243c463ac593
Author: Ruslan Brest <rb@labtodo.com>
Date:   Tue Mar 5 14:42:44 2013 +0200
    [+] Opencart 1.5.5 (admin): показ SEO Keyword в списке категорий
diff --git a/public_html/admin/controller/catalog/category.php b/public_html/admin/controller/catalog/category.php
index d82776a..32a02a4 100644
--- a/public_html/admin/controller/catalog/category.php
+++ b/public_html/admin/controller/catalog/category.php
@@ -157,6 +157,7 @@ class ControllerCatalogCategory extends Controller {
            $this->data['categories'][] = array(
                'category_id' => $result['category_id'],
                'name'        => $result['name'],
+               'keyword'     => $result['keyword'],
                'sort_order'  => $result['sort_order'],
                'selected'    => isset($this->request->post['selected']) && in_array($result['category_id'], $this->request->post['selected']),
                'action'      => $action
@@ -168,6 +169,7 @@ class ControllerCatalogCategory extends Controller {
        $this->data['text_no_results'] = $this->language->get('text_no_results');
 
        $this->data['column_name'] = $this->language->get('column_name');
+       $this->data['column_seo_keyword'] = $this->language->get('column_seo_keyword');
        $this->data['column_sort_order'] = $this->language->get('column_sort_order');
        $this->data['column_action'] = $this->language->get('column_action');
 
diff --git a/public_html/admin/language/english/catalog/category.php b/public_html/admin/language/english/catalog/category.php
index 7c26ba9..bbec2cd 100644
--- a/public_html/admin/language/english/catalog/category.php
+++ b/public_html/admin/language/english/catalog/category.php
@@ -11,6 +11,7 @@ $_['text_clear']             = 'Clear';
 
 // Column
 $_['column_name']            = 'Category Name';
+$_['column_seo_keyword']     = 'SEO Keyword';
 $_['column_sort_order']      = 'Sort Order';
 $_['column_action']          = 'Action';
 
diff --git a/public_html/admin/model/catalog/category.php b/public_html/admin/model/catalog/category.php
index a90b74c..021cbb9 100644
--- a/public_html/admin/model/catalog/category.php
+++ b/public_html/admin/model/catalog/category.php
@@ -205,7 +205,14 @@ class ModelCatalogCategory extends Model {
    } 
    
    public function getCategories($data) {
-       $sql = "SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR ' > ') AS name, c.parent_id, c.sort_order FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c ON (cp.path_id = c.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (c.category_id = cd1.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'";
+       $sql = "SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR ' > ') AS name, c.parent_id, c.sort_order, ua.keyword";
+       $sql .= " FROM " . DB_PREFIX . "category_path cp";
+       $sql .= " LEFT JOIN " . DB_PREFIX . "category c ON (cp.path_id = c.category_id)";
+       $sql .= " LEFT JOIN " . DB_PREFIX . "url_alias ua ON (ua.query = CONCAT('category_id=', cp.category_id))";
+       $sql .= " LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (c.category_id = cd1.category_id)";
+       $sql .= " LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id)";
+       $sql .= " WHERE cd1.language_id = '" . (int)$this->config->get('config_language_id')
+           . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'";
        
        if (!empty($data['filter_name'])) {
            $sql .= " AND cd2.name LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
diff --git a/public_html/admin/view/template/catalog/category_list.tpl b/public_html/admin/view/template/catalog/category_list.tpl
index 45ca090..0e37f56 100644
--- a/public_html/admin/view/template/catalog/category_list.tpl
+++ b/public_html/admin/view/template/catalog/category_list.tpl
@@ -23,6 +23,7 @@
             <tr>
               <td width="1" style="text-align: center;"><input type="checkbox" onclick="$('input[name*=\'selected\']').attr('checked', this.checked);" /></td>
               <td class="left"><?php echo $column_name; ?></td>
+              <td class="left"><?php echo $column_seo_keyword; ?></td>
               <td class="right"><?php echo $column_sort_order; ?></td>
               <td class="right"><?php echo $column_action; ?></td>
             </tr>
@@ -37,6 +38,7 @@
                 <input type="checkbox" name="selected[]" value="<?php echo $category['category_id']; ?>" />
                 <?php } ?></td>
               <td class="left"><?php echo $category['name']; ?></td>
+              <td class="left"><?php echo $category['keyword']; ?></td>
               <td class="right"><?php echo $category['sort_order']; ?></td>
               <td class="right"><?php foreach ($category['action'] as $action) { ?>
                 <a href="<?php echo $action['href']; ?>"><?php echo $action['text']; ?></a>
@@ -45,7 +47,7 @@
             <?php } ?>
             <?php } else { ?>
             <tr>
-              <td class="center" colspan="4"><?php echo $text_no_results; ?></td>
+              <td class="center" colspan="5"><?php echo $text_no_results; ?></td>
             </tr>
             <?php } ?>
           </tbody>

Файлы для скачивания:

Opencart 1.5.5 (admin): показ SEO Keyword в списке категорий

  • diff - для автоматического или ручного переноса изменений;
  • папка со всеми измененными файлами - для тех, кому удобней сравнивать и переносить изменения инструментами вроде WinMerge, Beyond Compare, Meld;
  • xml - для тех, кто пользуется vqMod.