RSS   Twitter   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

Создание MVC компонента Joomla 1.5 - Шаг 1, Основы

Создание Компонента - Hello World

Для нашего простейшего компонента потребуется создать всего пять файлов:

  • hello.php - точка входа в компонент
  • controller.php - содержит основное управление компонентом
  • views/hello/view.html.php - обрабатывает данные и передает их в шаблон для вывода
  • views/hello/tmpl/default.php - шаблон для вывода данных
  • hello.xml- XML служит для передачи инструкций для Joomla по установке компонента

Joomla всегда обрабатывает ссылку в корневом файле index.php для страниц Front End (сайт) или administrator/index.php для страниц Back End (панель администратора). Функция обработки URL загрузит требуемый компонент, основанный на значении "option" в URL (метод GET) или переданных данных методом POST.

Для нашего компонента, URL выглядит так:

index.php?option=com_hello&view=hello

Эта ссылка запустит выполнение файла, являющего точкой входа в наш компонент: components/com_hello/hello.php.

Код для этого файла довольно типичен для всех компонентов.

<?php
/**
 * @package    Autor
 * @subpackage Components
 * components/com_hello/hello.php
 * @link http://autor.net/
 * @license    GNU/GPL
*/

// Защита от прямого обращения к скрипту
defined( '_JEXEC' ) or die( 'Restricted access' );

// Подключение файла контроллера.
require_once( JPATH_COMPONENT.DS.'controller.php' );

// Проверка или требуется определенный контроллер
if($controller = JRequest::getVar( 'controller' )) {
    require_once( JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php' );
}

// Создание класса нашего компонента
$classname    = 'HelloController'.$controller;
$controller   = new $classname( );

// Выполнить задачу запроса
$controller->execute( JRequest::getVar( 'task' ) );

// Переадресация
$controller->redirect();
?>

Стоит заметить, что

JPATH_COMPONENT - это абсолютный путь к текущему компоненту, в нашем случае components/com_hello.

JPATH_COMPONENT_SITE - Для Front End

JPATH_COMPONENT_ADMINISTRATOR - Для Back End

DS - является автоматическим выбором слеша ( разделителя директорий ) '\' или '/'.

После загрузки основного контроллера проверяется наличие определенного контроллера с последующей загрузкой. В данном случае у нас только основной контроллер. JRequest::getVar() загружает значение переменной из URL или переданной методом POST. Допустим мы имеем адрес следующего вида:

index.php?option=com_hello&controller=controller_name

Тогда можно определить название нашего контроллера следующим образом:

echo JRequest::getVar('controller', 'default');

Мы имеем основной контроллер НelloController в com_hello/controller.php, так же загружаются дополнительные названия контроллера, к примеру: для HelloControllerController1 класс будет объявлен в файле com_hello/controllers/controller1.php 

{Componentname}{Controller}{Controllername} - Такой стандарт упрощает схему многозадачного компонента.

После того, как контроллер создан, мы инструктируем его выполнить задачу, которая определяется переданными параметрами в URL (либо через POST):

index.php?option=com_hello&task=sometask.

Если переменная "task" явно не задана, то по умолчанию выполниться display(), задача которого просто вывести шаблон по умолчанию. Пример стандартных задач - save, edit, new и т. д.

На этом шаге контроллер переадресовывает страницу. Обычно используется для таких задач как save.

Главная точка входа (hello.php) по существу пропускает управление на контроллер, который обрабатывает выполнение задачи, которая была определена в запросе.

создание контроллера

Наш компонент имеет только одну задачу - Hello. Поэтому, контроллер будет очень простой. Никакая манипуляция данных не требуется. Все что необходимо - это загрузить соответствующий вид(view). Остальные возможности контроллера пока пропустим

Код основного контроллера:

<?php
/**
 * @package    Autor
 * @subpackage Components
 * @link http://autor.net/
 * @license    GNU/GPL
 */

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

jimport('joomla.application.component.controller');

/**
 * Hello World Component Controller
 * @package    Joomla.Tutorials
 * @subpackage Components
 */
class HelloController extends JController
{
    /**
     * Method to display the view
     * @access    public
     */
    function display()
    {
        parent::display();
    }

}
?>

Конструктор класса JController всегда будет регистрировать задачу display(). Этот метод сам определит необходимый шаблон и данные которые необходимо загрузить в него. Более того один шаблон может разделяться на уровни(layout), каждый из которых отобразиться при запуске определенной задачи. В нашем случае мы явно не прописываем имя задачи, поэтому (как уже указывалось выше) используется default.

Когда вы создаете пункт меню для вашего компонента, менеджер меню позволит администратору выбирать задачу с которой начинать выполнение компонента. К примеру, для стандартного компонента "Пользователь" (com_user), выбор задач при создании пункта меню будет следующим:

  • Разметка входа по умолчанию
  • Разметка по умолчанию для регистрации
  • Напоминание по умолчанию
  • Разметка по умолчанию для сброса
  • Разметка по умолчанию для пользователя
  • Разметка пользовательской формы

создание вида

Извлекаем необходимые данные и передаем их в шаблон. В этом нам поможет расширенный класс JView и его метод assignRef, с помощью которого мы передаем переменные в шаблон.

<>Пример кода вида:


<?php
/**
 * @package    Autor
 * @subpackage Components
 * @link http://autor.net/
 * @license    GNU/GPL
*/

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

jimport( 'joomla.application.component.view');

/**
 * HTML View class for the HelloWorld Component
 *
 * @package    HelloWorld
 */

class HelloViewHello extends JView
{
    function display($tpl = null)
    {
        $greeting = "Hello World!";
        $this->assignRef('greeting', $greeting );
        parent::display($tpl);
    }
}
?>

создание шаблона

Наш шаблон очень прост, мы только отображаем приветствие, которое передавали в view:

<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<h1><?php echo $this->greeting; ?></h1>

создание файла hello.xml

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

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

Формат XML файла следующий:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/component-install.dtd">
<install type="component" version="1.5.0">
    <name>Hello</name>
    <!-- Далее идут элементы, которые содержат не обязательные данные,
         но тем не менее их желательно заполнить -->
    <creationDate>2007 02 22</creationDate>
    <author>John Doe</author>
    <authorEmail>john.doe@example.org</authorEmail>
    <authorUrl>http://www.example.org</authorUrl>
    <copyright>Copyright Info</copyright>
    <license>License Info</license>
    <!--  Версия компонента, может использоваться для обновлений -->
    <version>Component Version String</version>
    <!-- Краткое описание возможностей компонента -->
    <description>Description of the component ...</description>

    <!-- Опции копирования файлов при установке -->
    <files folder="cite">
        <filename>index.html</filename>
        <filename>hello.php</filename>
        <filename>controller.php</filename>
        <filename>views/index.html</filename>
        <filename>views/hello/index.html</filename>
        <filename>views/hello/view.html.php</filename>
        <filename>views/hello/tmpl/index.html</filename>
        <filename>views/hello/tmpl/default.php</filename>
    </files>

    <administration>
        <!-- Имя пункта меню в панели управления -->
        <menu>Hello World!</menu>

        <!-- Файлы для копирования в панель администратора -->
        <files folder="administrator">
            <filename>index.html</filename>
            <filename>admin.hello.php</filename>
        </files>  
    </administration>
</install>

Также есть файл, который будет скопирован, это - index.html.

index.html помещен в каждый каталог, чтобы препятствовать пользователям получать список файлов каталога. Эти файлы содержат одну единственную строку:

<html><body bgcolor="#FFFFFF"></body></html>

Прикрепленные файлы:
com_hello_1.zip
Объем: 4.27 KB; Тип: zip; Загрузок: 3324; в сутки: ~1; Обновлен: 16:19, 24 Июля 2011;
Смотрите также:
Комментарии (94) Добавить комментарий
  • Алексей
    Алексей
    13 Апреля 2011, 18:21
     ↑  0  ↓     ответ

    Так этот компонент не устанавливается. joomla ошибку выдаёт:

    JInstaller::install: Файл /home/c/cl38835/public_html/test/tmp/install_4da58646ed63f/hello.php не существует

    Может я не правильно что-то понимаю:

    Этот файл com_hello_1.zip мы можем установить в joomla как полноценный компонент?

    у меня joomla 1.5.22 может это влияет

    • smet.denis
      smet.denis (админ)
      17 Апреля 2011, 13:37
       ↑  -4  ↓     ответ

      у вас уже установлен модуль com_hello, удалите его и попробуйте снова...

      • Николай
        Николай
        25 Апреля 2011, 18:27
         ↑  0  ↓     ответ

        вы не правы

        не правильно написан xml файл

        обратите внимание на имена папок

        • smet.denis
          smet.denis (админ)
          25 Апреля 2011, 18:39
           ↑  0  ↓     ответ

          Ок, поглядим.

  • Severin
    Severin
    25 Мая 2011, 22:46
     ↑  +3  ↓     ответ

    В установочном xml нужно отредактировать строки <files folder="">. Должно быть

    <files folder="cite"> для файлов фронт-энда

    <files folder="administrator"> для файлов бек-энда

    • smet.denis
      smet.denis (админ)
      26 Мая 2011, 04:32
       ↑  -3  ↓     ответ

      Спасибо за наводку. Исправлено.

    • Николай
      Николай
      23 Ноября 2012, 17:12
       ↑  +2  ↓     ответ

      Может стоит написать всё-таки SITE?

      web-разработчик, а ка "сайт" пишется, не знает...

  • Александр
    Александр
    15 Июля 2011, 18:34
     ↑  0  ↓     ответ

    Не исправлено.

    Этот компонент по прежнему не устанавливается.

    Joomla 1.5.22

    Ошибка! Не найден XML-файл установки Joomla!

  • snake
    snake
    22 Октября 2011, 14:54
     ↑  +2  ↓     ответ

    По переданной ссылке типа «index.php?option=com_hello&view=hello»

    Подгружается файл hello.php и ему передается управление, тот исходя из значения переменной $controller инклудит соответственный файл php.

    Создает объект класса и вызывает метод execute() передав ему значение переменной task из get или post.

    Метод execute нашего контроллера, унаследован из класса родителя и вызывает метод display(), который мы переопредилили в нашем классе (и на самом деле он тупо вызывает метод display() родителя). До этого места все понятно и логично, видно что откуда грузиться.

    А вот дальше пошел полный «алес»… Мы описываем потомка от класса JView в котором, переопределяем метод display() который как написано в статье передает переменные в шаблон. Вопрос, а где прописано, какой именно php файл является шаблоном. В файле с описанием класса просмотра HelloViewHello нигде не указанно что надо погружать именно файл \com_hello\site\views\hello\tmpl\default.php. Да и собственно говоря, в классе с контроллером мы тоже не указываем какой именно php файл содержит описание класса наследника от JView. Да и нет ни где создания объекта класса HelloViewHello.

    Нельзя ли подробнее пояснить откуда тут что берется?

    • Игорь
      Игорь
      04 Декабря 2011, 01:36
       ↑  0  ↓     ответ

      snake зачем такие вопросы задаешь? Парни просто передрали чужую статью))

      • icewind
        icewind
        27 Апреля 2012, 05:30
         ↑  0  ↓     ответ

        точно передрали

        Вот еще в 2007 году были опубликованы уроки по созданию компонента:

        webflasher.net/ru/webmasteru/joomla-1-5.html

    • zemelea
      zemelea
      22 Марта 2012, 03:43
       ↑  0  ↓     ответ

      В нашем случае мы явно не прописываем имя задачи, поэтому (как уже указывалось выше) используется default.

  • mak
    mak
    31 Марта 2012, 13:14
     ↑  +3  ↓     ответ

    А как заставить вьюхи зацепляться из файлов *.phtml ?

  • JeneZis
    JeneZis
    23 Мая 2012, 19:33
     ↑  0  ↓     ответ

    Для установки данного компонента необходимо

    1. исправить в файле install.xml строку 36:

    <files folder="admin">

    на следующую:

    <files folder="administrator">

    2. Переименовать папку admin в administrator

    3. Дать права на запись директории components

  • Артем
    Артем
    06 Февраля 2013, 04:16
     ↑  +1  ↓     ответ

    if($controller = JRequest::getVar( 'controller' )) {

    там не двойное равно разве?

    • Стас
      Стас
      31 Января 2014, 14:11
       ↑  0  ↓     ответ

      JRequest::getVar( 'controller' ) в случае неудачи вернет false

  • Sergio
    Sergio
    27 Марта 2014, 04:07
     ↑  0  ↓     ответ

    Вы уверены в том, что front-end это сайт, а back-end это панель администратора?

  • Theda
    Theda
    04 Сентября 2017, 06:25
     ↑  0  ↓     ответ

    Today, I went to the beach front with my children. I found a sea shell

    and gave it to my 4 year old daughter and said "You can hear the ocean if you put this to your ear."

    She placed the shell to her ear and screamed. There was a hermit crab inside

    and it pinched her ear. She never wants to go back!

    LoL I know this is completely off topic but I

    had to tell someone!

  • продвижение сайта сео 
    продвижение сайта сео 
    23 Мая 2019, 12:06
     ↑  0  ↓     ответ

    По сути, вот вам и готовое семантическое ядро сайта.

  • Platinumselection.net
    Platinumselection.net
    12 Июля 2019, 21:05
     ↑  0  ↓     ответ

    Some male es?orts promote thеіr solutіons on-line.

  • harga burung rengganis
    harga burung rengganis
    06 Ноября 2019, 04:03
     ↑  0  ↓     ответ

    Основы создания простейшего компонента

    для Joomla 1.5 / Создание компонентов .:

    . Документация Joomla! CMS https://soal2online.blogspot.com/2019/10/bandar-togel-hongkong-aman-dan.html

  • lady escorts in singapore
    lady escorts in singapore
    10 Ноября 2019, 10:14
     ↑  0  ↓     ответ

    Escoгt girls do nnot cime low-priced іn Singapore.

  • plenty of fish dating site
    plenty of fish dating site
    12 Ноября 2019, 09:09
     ↑  0  ↓     ответ

    If some one wants expert view concerning blogging then i advise him/her

    to pay a quick visit this weblog, Keep up the fastidious work.

  • coconut oil there
    coconut oil there
    16 Ноября 2019, 11:33
     ↑  0  ↓     ответ

    Pretty section of content. I just stumbled upon your site and

    in accession capital to assert that I get in fact

    enjoyed account your blog posts. Anyway I will be subscribing to your augment and even I achievement you access consistently rapidly.

  • tinyurl.com
    tinyurl.com
    21 Ноября 2019, 08:43
     ↑  0  ↓     ответ

    Everything is very open with a really clear description of the issues.

    It was really informative. Your site is very useful. Thank

    you for sharing!

  • http://tinyurl.com/
    http://tinyurl.com/
    22 Ноября 2019, 08:36
     ↑  0  ↓     ответ

    Hello there, just became aware of your blog through Google, and found that it's truly informative.

    I'm gonna watch out for brussels. I will be grateful if you continue this in future.

    Many people will be benefited from your writing. Cheers!

  • tinyurl.com
    tinyurl.com
    24 Ноября 2019, 08:35
     ↑  0  ↓     ответ

    Thanks for the auspicious writeup. It in fact was a enjoyment account it.

    Glance advanced to more delivered agreeable from you! By the way, how can we keep up a

    correspondence?

  • tinyurl.com
    tinyurl.com
    24 Ноября 2019, 10:14
     ↑  0  ↓     ответ

    Does your blog have a contact page? I'm having trouble locating it but, I'd

    like to send you an e-mail. I've got some suggestions for your blog you

    might be interested in hearing. Either way, great site and I look

    forward to seeing it expand over time.

  • http://tinyurl.com
    http://tinyurl.com
    24 Ноября 2019, 13:36
     ↑  0  ↓     ответ

    Great site you have here but I was wondering if you knew of

    any community forums that cover the same topics talked about here?

    I'd really love to be a part of online community where I can get comments from other

    knowledgeable people that share the same interest.

    If you have any suggestions, please let me know. Cheers!

  • coconut oil there
    coconut oil there
    26 Ноября 2019, 03:37
     ↑  0  ↓     ответ

    I believe this is one of the most significant information for me.

    And i'm satisfied reading your article. But wanna remark on some normal issues, The website taste is great, the articles is in point of fact great : D.

    Excellent activity, cheers

  • off coconut oil
    off coconut oil
    26 Ноября 2019, 04:56
     ↑  0  ↓     ответ

    Hey! I could have sworn I've been to this blog before but after reading through

    some of the post I realized it's new to me.

    Anyhow, I'm definitely delighted I found it and I'll be book-marking and checking back often!

  • plenty of fish dating site
    plenty of fish dating site
    26 Ноября 2019, 13:38
     ↑  0  ↓     ответ

    It's not my first time to pay a visit this

    website, i am visiting this web site dailly and take good data from

    here all the time.

  • plenty of fish dating site
    plenty of fish dating site
    27 Ноября 2019, 00:15
     ↑  0  ↓     ответ

    Hello, this weekend is good for me, because this moment i am reading this

    wonderful informative piece of writing here at my residence.

  • ipad 2 mobile legends crash
    ipad 2 mobile legends crash
    25 Декабря 2019, 04:08
     ↑  0  ↓     ответ

    Hi there would you mind letting me know which web host you're utilizing?

    I've loaded your blog in 3 completely different web browsers and I must say this blog

    loads a lot quicker then most. Can you recommend

    a good web hosting provider at a honest price? Thanks a lot, I appreciate it!

  • mobile legends draft pick
    mobile legends draft pick
    27 Декабря 2019, 10:52
     ↑  0  ↓     ответ

    It's going to be ending of mine day, except before finish I am reading this impressive post to increase my experience.

  • star 8 mobile legend
    star 8 mobile legend
    05 Января 2020, 08:05
     ↑  0  ↓     ответ

    Hi there! I just would like to offer you a big thumbs

    up for your excellent information you have got right here on this post.

    I'll be coming back to your blog for more soon.

  • https://bunga-escorts.com/paris-escorts/russian
    https://bunga-escorts.com/paris-escorts/russian
    13 Февраля 2020, 15:35
     ↑  0  ↓     ответ

    All attractive escort girls Paris ??е discreet ?nd specialist.

  • Korny cyrkonowe
    Korny cyrkonowe
    19 Февраля 2020, 15:43
     ↑  0  ↓     ответ

    Hi, yeah this piece of writing is truly good and I have learned lot of things from it on the topic of

    blogging. thanks.

  • mobile legends
    mobile legends
    27 Февраля 2020, 19:33
     ↑  0  ↓     ответ

    Yes! Finally something about mobile legends.

  • what is search engine optimisation marketing
    what is search engine optimisation marketing
    23 Марта 2020, 11:05
     ↑  0  ↓     ответ

    Seo stands f?r Search Engine Optimisation.

  • escorte girl paris 16
    escorte girl paris 16
    23 Марта 2020, 17:07
     ↑  0  ↓     ответ

    We ?re glad t? offer ??u ?n elite escort in Paris.

  • ?????
    ?????
    27 Марта 2020, 23:56
     ↑  0  ↓     ответ

    Quality posts is the secret to invite the visitors to pay a quick visit the web page,

    that's what this website is providing. https://1borsa.com/328938

  • fleck 5600 valve replacement
    fleck 5600 valve replacement
    04 Апреля 2020, 15:12
     ↑  0  ↓     ответ

    It's an amazing post designed for all the internet visitors; they will

    take benefit from it I am sure.

  • ??????
    ??????
    27 Апреля 2020, 20:51
     ↑  0  ↓     ответ

    Useful information. Fortunate me I found your site accidentally,

    and I'm stunned why this accident didn't came about earlier!

    I bookmarked it. https://ylnepal.com/forum/question/correct-purchase-process-of-grinding-mill/

  • ??????
    ??????
    01 Мая 2020, 00:50
     ↑  0  ↓     ответ

    There is certainly a great deal to find out about this issue.

    I love all the points you have made. middleagedonlinemarketer.com/2020/04/assessment-on-cosrx-centella-water-alcohol-free-toner/

  • Agen Domino
    Agen Domino
    30 Мая 2020, 14:11
     ↑  0  ↓     ответ

    Piece of writing writing is also a excitement, if you know then you

    can write or else it is complicated to write.

  • trucker load
    trucker load
    07 Июня 2020, 06:18
     ↑  0  ↓     ответ

    Hello! Would you mind if I share your blog

    with my twitter group? There's a lot of people that I think would

    really appreciate your content. Please let me

    know. Cheers

  • ganasqq.mystrikingly.com
    ganasqq.mystrikingly.com
    09 Июня 2020, 04:39
     ↑  0  ↓     ответ

    Just want to say your article is as surprising. The clearness in your post

    is just nice and that i could suppose you're knowledgeable on this subject.

    Fine with your permission allow me to grasp your feed to stay up to date with approaching post.

    Thanks 1,000,000 and please carry on the rewarding work.

  • Situs bandarq
    Situs bandarq
    11 Июня 2020, 14:20
     ↑  0  ↓     ответ

    You could certainly see your expertise in the work you

    write. The sector hopes for even more passionate writers such as you who are not afraid to mention how they believe.

    Always follow your heart.

  • judi online terpercaya
    judi online terpercaya
    15 Июня 2020, 06:39
     ↑  0  ↓     ответ

    Hi mates, its fantastic post about cultureand fully explained, keep it up all the time.

  • Situs Poker
    Situs Poker
    16 Июня 2020, 01:59
     ↑  0  ↓     ответ

    I know this if off topic but I'm looking into starting my own weblog and was

    wondering what all is required to get setup? I'm assuming having a blog like yours would cost a pretty

    penny? I'm not very web smart so I'm not 100% positive.

    Any tips or advice would be greatly appreciated.

    Thank you

  • g
    g
    16 Июня 2020, 05:39
     ↑  0  ↓     ответ

    Howdy! This blog post could not be written much better! Reading through this post reminds

    me of my previous roommate! He constantly kept preaching

    about this. I will forward this article to

    him. Fairly certain he will have a very good read. Thanks for

    sharing!

  • g
    g
    17 Июня 2020, 05:57
     ↑  0  ↓     ответ

    Hello i am kavin, its my first occasion to commenting anyplace,

    when i read this piece of writing i thought i could also create comment due to this good

    piece of writing.

  • Judi Domino
    Judi Domino
    18 Июня 2020, 08:07
     ↑  0  ↓     ответ

    I got this web site from my pal who shared with me regarding this website and at

    the moment this time I am browsing this website and reading

    very informative articles at this time.

  • http://vossappel2.nation2.Com/langkah-terbaik-untuk-bersua-situs-kekinian
    http://vossappel2.nation2.Com/langkah-terbaik-untuk-bersua-situs-kekinian
    18 Июня 2020, 15:42
     ↑  0  ↓     ответ

    Having read this I believed it was extremely enlightening.

    I appreciate you finding the time and effort to put this content together.

    I once again find myself spending a lot of time both reading and posting comments.

    But so what, it was still worth it!

  • agen Bandarq
    agen Bandarq
    21 Июня 2020, 05:28
     ↑  0  ↓     ответ

    It's impressive that you are getting ideas from

    this article as well as from our argument made

    at this time.

  • Agen Domino
    Agen Domino
    22 Июня 2020, 22:57
     ↑  0  ↓     ответ

    I was recommended this web site by means of

    my cousin. I'm no longer sure whether this put up is written via him as no one else understand such specific approximately

    my problem. You are incredible! Thanks!

  • Bandar Judi Online
    Bandar Judi Online
    23 Июня 2020, 10:07
     ↑  0  ↓     ответ

    Hi there friends, fastidious paragraph and good urging commented

    here, I am genuinely enjoying by these.

  • Agen domino
    Agen domino
    29 Июня 2020, 10:16
     ↑  0  ↓     ответ

    Pretty part of content. I simply stumbled upon your

    blog and in accession capital to assert that I get in fact

    loved account your blog posts. Anyway I'll be subscribing to your feeds or even I success you get

    admission to constantly quickly.

  • Situs Domino
    Situs Domino
    04 Июля 2020, 12:28
     ↑  0  ↓     ответ

    Thank you for sharing your info. I truly appreciate your efforts and

    I am waiting for your further write ups thank you once

    again.

  • ted.com
    ted.com
    09 Июля 2020, 07:36
     ↑  0  ↓     ответ

    I am actually happy to read this webpage posts which includes tons of helpful data, thanks for providing these

    statistics.

  • Dominoqq Online
    Dominoqq Online
    15 Июля 2020, 04:40
     ↑  0  ↓     ответ

    Hi there fantastic blog! Does running a blog similar to this take a

    large amount of work? I have virtually no understanding of computer programming

    but I was hoping to start my own blog in the near future.

    Anyways, if you have any suggestions or tips for new blog owners please share.

    I understand this is off subject nevertheless I simply had to ask.

    Thanks!

  • web hosting company
    web hosting company
    09 Августа 2020, 06:19
     ↑  0  ↓     ответ

    I quite like reading an article that will make people think.

    Also, many thanks for permitting me to comment!

  • best web hosting
    best web hosting
    09 Августа 2020, 08:56
     ↑  0  ↓     ответ

    My spouse and I absolutely love your blog and find almost all of your post's to be precisely what I'm looking for.

    Does one offer guest writers to write content in your case?

    I wouldn't mind publishing a post or elaborating on a

    few of the subjects you write about here. Again, awesome

    site!

  • camo phone case
    camo phone case
    10 Ноября 2020, 17:38
     ↑  0  ↓     ответ

    It is appropriate time to make some plans for the future

    and it is time to be happy. I have read this post and if I could I desire to suggest you few interesting things or advice.

    Perhaps you could write next articles referring to this article.

    I desire to read even more things about it!

  • escort boy belgium
    escort boy belgium
    22 Ноября 2020, 22:39
     ↑  0  ↓     ответ

    Scammers are everywhere and if you are not careful, you may possibly land

    in the incorrect hands.

  • dentysta
    dentysta
    20 Декабря 2020, 14:42
     ↑  0  ↓     ответ

    Hi, i think that i saw you visited my weblog thus i came to “return the favor”.I am attempting to find things to improve my website!I suppose its ok to use

    some of your ideas!!

  • cheap flights
    cheap flights
    29 Января 2021, 18:10
     ↑  0  ↓     ответ

    Wonderful post! We are linking to this particularly

    great content on our website. Keep up the great writing.

  • cheap flights
    cheap flights
    29 Января 2021, 22:42
     ↑  0  ↓     ответ

    Wow, amazing blog layout! How long have you been blogging for?

    you made blogging look easy. The overall look of your website

    is fantastic, as well as the content!

  • cheap flights
    cheap flights
    30 Января 2021, 07:21
     ↑  0  ↓     ответ

    Hey! This is my first visit to your blog! We are a collection of volunteers and starting a

    new initiative in a community in the same niche.

    Your blog provided us useful information to work on. You

    have done a extraordinary job!

  • pozycjonowanie marketing
    pozycjonowanie marketing
    08 Февраля 2021, 23:57
     ↑  0  ↓     ответ

    Og?lnie polega dzi?ki posiadaniu wielkiej cierpliwo??i.

  • dentysta toru?
    dentysta toru?
    01 Марта 2021, 10:42
     ↑  0  ↓     ответ

    It's remarkable for me to have a web page, which is useful for my knowledge.

    thanks admin

  • dentysta toru?
    dentysta toru?
    01 Марта 2021, 17:46
     ↑  0  ↓     ответ

    Hello all, here every one is sharing these familiarity, therefore it's pleasant to read this webpage, and I used to visit

    this web site everyday.

  • web posicionamiento 2021
    web posicionamiento 2021
    27 Марта 2021, 04:46
     ↑  0  ↓     ответ

    Pero pelo te creas ?ue es ?n examen f?cil, Google valora m?ѕ dе 200 criterios ?entro del algoritmo ? c?mo te

    puedes imaginar, ?l buscador pe?o desvela ??mo funciona (no l? interesa qu? loѕ SEO’ѕ

    intenten manipular lоs resultados).

  • 0mniartist
    0mniartist
    08 Апреля 2021, 10:32
     ↑  0  ↓     ответ

    I go to see day-to-day some websites and websites to read posts, except this

    blog gives feature based articles. 0mniartist asmr

  • 0mniartist
    0mniartist
    08 Апреля 2021, 17:07
     ↑  0  ↓     ответ

    Have you ever thought about including a little bit more than just your articles?

    I mean, what you say is important and everything. However just imagine

    if you added some great graphics or video clips to

    give your posts more, "pop"! Your content is excellent but with pics and video clips, this site could certainly be one of the most beneficial

    in its field. Awesome blog! 0mniartist asmr

  • 0mniartist
    0mniartist
    09 Апреля 2021, 08:05
     ↑  0  ↓     ответ

    I'm not sure why but this site is loading extremely slow for me.

    Is anyone else having this problem or is it a issue on my end?

    I'll check back later on and see if the problem still exists.

    0mniartist asmr

  • 0mniartist
    0mniartist
    09 Апреля 2021, 20:25
     ↑  0  ↓     ответ

    I would like to thank you for the efforts you've put in penning this blog.

    I really hope to view the same high-grade blog posts by you in the

    future as well. In truth, your creative writing abilities has encouraged me to get my own site now ;) asmr 0mniartist

  • etykieciarki
    etykieciarki
    30 Ноября 2021, 13:54
     ↑  0  ↓     ответ

    Heya terrific website! Does running a blog like

    this take a lot of work? I've no understanding of computer programming however I was hoping to start my own blog soon. Anyhow, should you have any recommendations or tips for new blog owners please share.

    I know this is off topic however I just wanted to ask.

    Kudos!

  • nalewarki
    nalewarki
    01 Декабря 2021, 22:03
     ↑  0  ↓     ответ

    I'm gone to convey my little brother, that he should also

    visit this webpage on regular basis to obtain updated from newest news update.

  • maszyny
    maszyny
    03 Декабря 2021, 06:47
     ↑  0  ↓     ответ

    I am really inspired together with your writing talents and also with the

    layout on your weblog. Is this a paid topic or did you modify it your self?

    Anyway stay up the excellent quality writing, it's rare to peer a nice

    weblog like this one nowadays..

  • enova365
    enova365
    03 Декабря 2021, 11:30
     ↑  0  ↓     ответ

    Thank you a lot for sharing this with all people you actually know what you are talking approximately!

    Bookmarked. Please also seek advice from my web site =). We may have a link change contract between us

    Esthetic Dental Clinic - DENTYSTA Toru? - Stomatologia estetyczna - Implanty - ORTODONTA

    TORU?

    Heleny Piskorskiej 15, 87-100 Toru?

    2MG9+W8 Toru?

    edclinic.pl

  • dentysta
    dentysta
    21 Марта 2022, 04:54
     ↑  0  ↓     ответ

    My spouse and I absolutely love your blog and find

    most of your post's to be precisely what I'm looking

    for. Would you offer guest writers to write content to suit your needs?

    I wouldn't mind publishing a post or elaborating on a few of the

    subjects you write about here. Again, awesome site!

    Esthetic Dental Clinic - DENTYSTA Toru? - Stomatologia estetyczna -

    Implanty - ORTODONTA TORU?

    Heleny Piskorskiej 15, 87-100 Toru?

    2MG9+W8 Toru?

    edclinic.pl

  • https://bandarq.joomla.com
    https://bandarq.joomla.com
    21 Марта 2022, 14:04
     ↑  0  ↓     ответ

    Currently it sounds like Drupal is the best blogging platform out there right now.

    (from what I've read) Is thhat what you're using on your blog?

  • implanty torun
    implanty torun
    04 Августа 2022, 01:13
     ↑  0  ↓     ответ

    What's up, of course this article is really good and I have learned lot of things

    from it concerning blogging. thanks.

  • tracfone special
    tracfone special
    29 Ноября 2022, 15:45
     ↑  0  ↓     ответ

    Attractive component to content. I just stumbled upon your

    blog and in accession capital to assert that I acquire in fact loved account your weblog posts.

    Any way I'll be subscribing in your feeds or even I fulfillment you

    get entry to persistently rapidly.

  • special
    special
    01 Декабря 2022, 01:05
     ↑  0  ↓     ответ

    My coder is trying to convince me to move to .net from PHP.

    I have always disliked the idea because of the expenses.

    But he's tryiong none the less. I've been using WordPress on numerous websites for about a year and am nervous about switching to another platform.

    I have heard great things about blogengine.net.

    Is there a way I can transfer all my wordpress posts into it?

    Any kind of help would be really appreciated!

  • Kari
    Kari
    20 Января 2023, 07:52
     ↑  0  ↓     ответ

    To the joomla-book.ru Admin, similar below: <a href="/ 695example695.com " rel="nofollow">Link Text</a>

  • Kenton
    Kenton
    28 Января 2023, 06:23
     ↑  0  ↓     ответ

    Hi joomla-book.ru webmaster, Keep up the good work!

  • excellent in the long run. Don't hesitate to contact me: michel710@tutanota.com Thank you
    excellent in the long run. Don't hesitate to contact me: michel710@tutanota.com Thank you
    27 Октября 2023, 20:58
     ↑  0  ↓     ответ

    Hello, put your money into my hand-drawn NFTs.

    They are unique and original.

    Invest safely in an art medium, excellent in the long

    run.

    Don't hesitate to contact me:

    michel710@tutanota.com

    Thank you

  • parenting.ra6.org
    parenting.ra6.org
    07 Февраля 2024, 00:48
     ↑  0  ↓     ответ

    Woah! I'm really digging the template/theme of this website.

    It's simple, yet effective. A lot of times it's hard to get that "perfect balance"

    between user friendliness and appearance. I must say that you've done a amazing job with

    this. Additionally, the blog loads very quick for me

    on Chrome. Outstanding Blog!

  • Объявления Кемерово
    Объявления Кемерово
    29 Мая 2024, 07:56
     ↑  0  ↓     ответ

    Группа объявлений в Кемерово в телеграм.

    Размещение частных объявлений бесплатно!

    Рекламные и коммерческие объявления,

    согласно правил группы.

    #Кемерово #ОбъявленияКемерово #БесплатныеОбъявления #телеграм #телеграмм #telegram

    Присоединяйся, чтобы быть в курсе.

    Объявления Кемерово

  • телеграм Кемерово
    телеграм Кемерово
    29 Июня 2024, 19:44
     ↑  0  ↓     ответ

    Группа объявлений в Кемерово в телеграме.

    Размещение частных объявлений бесплатно!

    Рекламные и коммерческие объявления- согласно правил группы.

    #Кемерово #ОбъявленияКемерово #БесплатныеОбъявления #объявление #доскаобъявлений #барахолка #телеграм #телеграмм

    #telegram

    Подпишись, чтобы не потерять...

    телеграм Кемерово

    Чаты остальных можно увидеть по ссылке!!

    бесплатные объявления

  • Кемерово свежие объявления
    Кемерово свежие объявления
    10 Июля 2024, 10:58
     ↑  0  ↓     ответ

    Группа объявления в Кемерово в телеграмм.

    Постинг частных объявлений бесплатно!

    Коммерческие и рекламные объявления- по правилам группы.

    #Кемерово #ОбъявленияКемерово #БесплатныеОбъявления #объявление #доскаобъявлений

    #барахолка #телеграм #телеграмм

    #telegram

    Подпишись, чтобы быть в курсе!!

    Кемерово свежие объявления

    Группы остальных доступны по ссылке..

    бесплатные объявления

Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.