Подсказать, как интегрировать дизайн

В общем возникла проблема сделать дизайн блога http://collimator.su/blog/, аналогичный дизайну сайта http://collimator.su/

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

3 ответа

  • 0
    Михаил Ушенин Webasyst 12 марта 2014 08:16 #
    Задайте более конкретные вопросы — постараемся помочь.
    • 0
      realteam realteam 12 марта 2014 08:51 #
      где расположен код, чтобы мне сверстать и дописать свои теги и классы для верстки информации в сайдбаре?

      Вот собственно вопрос был.
      • 0
        Михаил Ушенин Михаил Ушенин Webasyst 13 марта 2014 02:47 #
        Посмотрите в файле sidebar.html, если такой файл есть в вашей теме дизайна.
        • 0
          realteam realteam 16 марта 2014 11:54 #
          Мы вам уже писали, что нам нужно мне знать где расположен код (кусок кода) чтобы нам сверстать и дописать свои теги и классы для верстки информации в sidebar.html и для коротких новостей, а то там есть комментарии где менять их, мы нашли, а вот остальное не можем найти (код чтобы нам сверстать и дописать свои теги и классы), и в файле sidebar.html там просто циклы вывода, с которыми работать невозможно.
          • 0
            Михаил Ушенин Михаил Ушенин Webasyst 17 марта 2014 14:19 #
            Приведите здесь фрагмент кода, с которым "невозможно работать".
            • 0
              realteam realteam 18 марта 2014 12:40 #
              К примеру http://collimator.su/ тут сбоку есть 6 новостей, которые связанные с блогом, но требуется выводить 5 шт (в данный момент на сайте 6 шт показано). Сам код вывода вот такой:

              <!-- Новости -->
              <div class="bloc_news">
              <div class="bloc_news1">Новости</div>
              {$latest_posts = $wa->blog->posts()}
              {foreach $latest_posts as $post}
              <div class="post">
              <div class="credentials">
              {$post.datetime|wa_datetime:"humandate"}
              </div>
              <h3>
              <span>{$post.title}</span>
              {* @event prepare_posts_frontend.%plugin_id%.post_title *}
              {if !empty($post.plugins.post_title)}
              {foreach $post.plugins.post_title as $plugin => $output}{$output}{/foreach}
              {/if}
              </h3>
              <div class="bloc_news2"><a href="{$post.link}">Подробнее</a></div>
              </div>
              {/foreach}
              <div class="bloc_news3"><a href="/blog/">Смотреть все</a></div>
              </div>
              <!-- /Новости -->

              как сделать вывод только 5 (последних) новостей, а не все.
              • 0
                realteam realteam 18 марта 2014 13:21 #
                Хотя мы по своему решили проблему но ваш вариант тоже бы посмотреть хотели.
                • 0
                  Михаил Ушенин Михаил Ушенин Webasyst 19 марта 2014 06:28 #
                  В вызове метода $wa->blog->posts() добавьте параметры:

                  $wa->blog->posts(null, 5)

                  Первый параметр — id блога, из которого извлекать статьи. Если null, то извлекаются статьи изо всех имеющихся блогов.
                  Второй параметр — количество статей, которые нужно вернуть.
                  • 0
                    realteam realteam 19 марта 2014 10:13 #
                    Да у вас по проще, мы сделал так:

                    <!-- Новости -->
                    <div class="bloc_news">
                    <div class="bloc_news1">Новости</div>
                    {$latest_posts = $wa->blog->posts()}
                    {$blog_count=1}
                    {foreach $latest_posts as $post}
                    {if $blog_count>5} {break}{/if}
                    {$blog_count=$blog_count+1}
                    <div class="post">
                    <div class="credentials">
                    {$post.datetime|wa_datetime:"humandate"}
                    </div>
                    <h3>
                    <span>{$post.title}</span>
                    {* @event prepare_posts_frontend.%plugin_id%.post_title *}
                    {if !empty($post.plugins.post_title)}
                    {foreach $post.plugins.post_title as $plugin => $output}{$output}{/foreach}
                    {/if}
                    </h3>
                    <div class="bloc_news2"><a href="{$post.link}">Подробнее</a></div>
                    </div>
                    {/foreach}
                    <div class="bloc_news3"><a href="/blog/">Смотреть все</a></div>
                    </div>
                    <!-- /Новости -->
  • 0
    realteam 12 марта 2014 09:03 #
    Еще есть 2 вопроса на счет закрывающего тега:

    Код:

    <center>
    <div class="list_img">
    <a href="{$p.frontend_url}" title="{$p.name|escape}{if $p.summary} &mdash; {strip_tags($p.summary)}{/if}">
    {$wa->shop->productImgHtml($p, '200x200', ['alt' => "{$p.name}", 'image', 'default' => "`$wa_theme_url`img/dummy200.png"])}
    </a>
    </div>
    </center>

    На сайте это выглядит так:

    <img src="/wa-data/public/shop/themes/Collimator/img/dummy200.png">

    Нужно так:

    <img src="/wa-data/public/shop/themes/Collimator/img/dummy200.png" />

    Где это править? или как изменить код сверху, чтобы слэш прописался?
    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 13 марта 2014 02:52 #
      Можно в качестве "костыля" (если это действительно ОЧЕНЬ нужно), добавить замену угловой скобки на слеш со скобкой вот так:

      {$wa->shop->productImgHtml($p, '200x200', ['alt' => "{$p.name}", 'image', 'default' => "`$wa_theme_url`img/dummy200.png"])|replace:'>':' />'}
      • 0
        realteam realteam 16 марта 2014 10:09 #
        Сделали проще, в файле shopViewHelper.class.php прописали их.

        public function productImgHtml($product, $size, $attributes = array())
        {
        if (!$product['image_id']) {
        if (!empty($attributes['default'])) {
        return '<img src="'.$attributes['default'].'" />';
        }
        return '';
        }
        if (!empty($product['image_desc']) && !isset($attributes['alt'])) {
        $attributes['alt'] = htmlspecialchars($product['image_desc']);
        }
        if (!empty($product['image_desc']) && !isset($attributes['title'])) {
        $attributes['title'] = htmlspecialchars($product['image_desc']);
        }
        $html = '<img';
        foreach ($attributes as $k => $v) {
        if ($k != 'default') {
        $html .= ' '.$k.'="'.$v.'"';
        }
        }
        $html .= ' src="'.shopImage::getUrl(array(
        'product_id' => $product['id'], 'id' => $product['image_id'], 'ext' => $product['ext']), $size).'" />';
        return $html;
        }

        Теперь думаю как прописать ALT для заглушки, когда нет картинки.
        • 0
          Михаил Ушенин Михаил Ушенин Webasyst 17 марта 2014 14:18 #
          Это, конечно, несколько проще, но после установки очередного обновления магазина вам придётся делать это каждый раз снова.
          • 0
            realteam realteam 18 марта 2014 12:15 #
            Да я в курсе и не только это половину моих поправок приходится править заново, я вам даже написал в техническую поддержку, чтобы уже выпускали обновления с более менее валидным кодом.

            Больше всего правок в коде с авторизации через соц сервисы.

            Так вот, в waViewHelper.class.php есть такой участок кода:

            public function authAdapters($return_array = false)
            {
            $adapters = wa()->getAuthAdapters();
            if ($return_array) {
            return $adapters;
            }
            if (!$adapters) {
            return '';
            }
            $html = '<div class="wa-auth-adapters"><ul>';
            $url = wa()->getRootUrl(false, true).'oauth.php?app='.$this->app().'&provider=';
            foreach ($adapters as $adapter) {
            /**
            * @var waAuthAdapter $adapter
            */
            $html .= '<li><a href="'.$url.$adapter->getId().'"><img alt="'.$adapter->getName().'" src="'.$adapter->getIcon().'">'.$adapter->getName().'</a></li>';
            }
            $html .= '</ul><p>';
            $html .= _ws("Authorize either by entering your contact information, or through one of the websites listed above.");
            $html .= '</p></div>';
            $html .= <<<HTML
            <script>
            $("div.wa-auth-adapters a").click(function () {
            var left = (screen.width - 600) / 2;
            var top = (screen.height - 400) / 2;
            window.open($(this).attr('href'),'oauth', "width=600,height=400,left="+left+",top="+top+",status=no,toolbar=no,menubar=no");
            return false;
            });
            </script>

            Правильнее бы его сделать вот так:

            public function authAdapters($return_array = false)
            {
            $adapters = wa()->getAuthAdapters();
            if ($return_array) {
            return $adapters;
            }
            if (!$adapters) {
            return '';
            }
            $html = '<div class="wa-auth-adapters"><ul>';
            $url = wa()->getRootUrl(false, true).'oauth.php?app='.$this->app().'&amp;provider=';
            foreach ($adapters as $adapter) {
            /**
            * @var waAuthAdapter $adapter
            */
            $html .= '<li><a href="'.$url.$adapter->getId().'"><img alt="'.$adapter->getName().'" src="'.$adapter->getIcon().'" />'.$adapter->getName().'</a></li>';
            }
            $html .= '</ul><p>';
            $html .= _ws("Authorize either by entering your contact information, or through one of the websites listed above.");
            $html .= '</p></div>';
            $html .= <<<HTML
            <script type="text/javascript">
            $("div.wa-auth-adapters a").click(function () {
            var left = (screen.width - 600) / 2;
            var top = (screen.height - 400) / 2;
            window.open($(this).attr('href'),'oauth', "width=600,height=400,left="+left+",top="+top+",status=no,toolbar=no,menubar=no");
            return false;
            });
            </script>


            Но уже как 4 дня его ни кто не прочел. Также есть такие участки где прописан:

            /css/quickorderFrontend.css'>

            заменить на:

            /css/quickorderFrontend.css /'>

            и прочие мелочи.
            • 0
              Михаил Ушенин Михаил Ушенин Webasyst 19 марта 2014 06:17 #
              > Но уже как 4 дня его ни кто не прочел.

              Как вы об этом узнали? Каков номер вашего запроса (если вы писали в службу поддержки)? Виден ли ваш запрос в Центре заказчика (https://webasyst.com/my/)?
              • 0
                realteam realteam 19 марта 2014 08:58 #
                Узнать же там легко по статусу "в работе" если прочти то и ответили бы там статус был бы "обработан". Да в центре заказчика виден, но я его выше продублировал можно сказать.

                Номер 1281431
  • 0
    realteam 12 марта 2014 11:14 #
    http://collimator.su/blog/ вот так главная блога а хотим так сделать, как к тегах или категориях http://collimator.su/blog/tag/%D0%BD%D0%BE%D0%B6%D0%B8+%D0%B4%D0%BB%D1%8F+%D0%BE%D1%85%D0%BE%D1%82%D1%8B/ или как тут http://collimator.su/blog/author/1/

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите