/** * @package Joomla.Administrator * @subpackage Weblinks * * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Routing class from com_weblinks * * @since 3.3 */ class WeblinksRouter extends JComponentRouterBase { /** * Build the route for the com_weblinks component * * @param array &$query An array of URL arguments * * @return array The URL arguments to use to assemble the subsequent URL. * * @since 3.3 */ public function build(&$query) { $segments = array(); // Get a menu item based on Itemid or currently active $app = JFactory::getApplication(); $menu = $app->getMenu(); $params = JComponentHelper::getParams('com_weblinks'); $advanced = $params->get('sef_advanced_link', 0); // We need a menu item. Either the one specified in the query, or the current active one if none specified if (empty($query['Itemid'])) { $menuItem = $menu->getActive(); } else { $menuItem = $menu->getItem($query['Itemid']); } $mView = (empty($menuItem->query['view'])) ? null : $menuItem->query['view']; $mId = (empty($menuItem->query['id'])) ? null : $menuItem->query['id']; if (isset($query['view'])) { $view = $query['view']; if (empty($query['Itemid']) || empty($menuItem) || $menuItem->component != 'com_weblinks') { $segments[] = $query['view']; } // We need to keep the view for forms since they never have their own menu item if ($view != 'form') { unset($query['view']); } } // Are we dealing with an weblink that is attached to a menu item? if (isset($query['view']) && ($mView == $query['view']) and (isset($query['id'])) and ($mId == (int) $query['id'])) { unset($query['view']); unset($query['catid']); unset($query['id']); return $segments; } if (isset($view) and ($view == 'category' or $view == 'weblink')) { if ($mId != (int) $query['id'] || $mView != $view) { if ($view == 'weblink' && isset($query['catid'])) { $catid = $query['catid']; } elseif (isset($query['id'])) { $catid = $query['id']; } $menuCatid = $mId; $categories = JCategories::getInstance('Weblinks'); $category = $categories->get($catid); if ($category) { // TODO Throw error that the category either not exists or is unpublished $path = $category->getPath(); $path = array_reverse($path); $array = array(); foreach ($path as $id) { if ((int) $id == (int) $menuCatid) { break; } if ($advanced) { list($tmp, $id) = explode(':', $id, 2); } $array[] = $id; } $segments = array_merge($segments, array_reverse($array)); } if ($view == 'weblink') { if ($advanced) { list($tmp, $id) = explode(':', $query['id'], 2); } else { $id = $query['id']; } $segments[] = $id; } } unset($query['id']); unset($query['catid']); } if (isset($query['layout'])) { if (!empty($query['Itemid']) && isset($menuItem->query['layout'])) { if ($query['layout'] == $menuItem->query['layout']) { unset($query['layout']); } } else { if ($query['layout'] == 'default') { unset($query['layout']); } } } $total = count($segments); for ($i = 0; $i < $total; $i++) { $segments[$i] = str_replace(':', '-', $segments[$i]); } return $segments; } /** * Parse the segments of a URL. * * @param array &$segments The segments of the URL to parse. * * @return array The URL attributes to be used by the application. * * @since 3.3 */ public function parse(&$segments) { $total = count($segments); $vars = array(); for ($i = 0; $i < $total; $i++) { $segments[$i] = preg_replace('/-/', ':', $segments[$i], 1); } // Get the active menu item. $app = JFactory::getApplication(); $menu = $app->getMenu(); $item = $menu->getActive(); $params = JComponentHelper::getParams('com_weblinks'); $advanced = $params->get('sef_advanced_link', 0); // Count route segments $count = count($segments); // Standard routing for weblinks. if (!isset($item)) { $vars['view'] = $segments[0]; $vars['id'] = $segments[$count - 1]; return $vars; } // From the categories view, we can only jump to a category. $id = (isset($item->query['id']) && $item->query['id'] > 1) ? $item->query['id'] : 'root'; $category = JCategories::getInstance('Weblinks')->get($id); $categories = $category->getChildren(); $found = 0; foreach ($segments as $segment) { foreach ($categories as $category) { if (($category->slug == $segment) || ($advanced && $category->alias == str_replace(':', '-', $segment))) { $vars['id'] = $category->id; $vars['view'] = 'category'; $categories = $category->getChildren(); $found = 1; break; } } if ($found == 0) { if ($advanced) { $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select($db->quoteName('id')) ->from('#__weblinks') ->where($db->quoteName('catid') . ' = ' . (int) $vars['catid']) ->where($db->quoteName('alias') . ' = ' . $db->quote(str_replace(':', '-', $segment))); $db->setQuery($query); $id = $db->loadResult(); } else { $id = $segment; } $vars['id'] = $id; $vars['view'] = 'weblink'; break; } $found = 0; } return $vars; } } /** * Weblinks router functions * * @param array &$query An array of URL arguments * * @return array The URL arguments to use to assemble the subsequent URL. * * Note. These functions are proxies for the new router interface * for old SEF extensions. * * @deprecated 4.0 Use Class based routers instead */ function WeblinksBuildRoute(&$query) { $router = new WeblinksRouter; return $router->build($query); } /** * Weblinks router functions * * @param array $segments The segments of the URL to parse. * * @return array The URL attributes to be used by the application. * * Note. These functions are proxies for the new router interface * for old SEF extensions. * * @deprecated 4.0 Use Class based routers instead */ function WeblinksParseRoute($segments) { $router = new WeblinksRouter; return $router->parse($segments); } Роль развивающих игр для детей 3 - 4 лет

Роль развивающих игр для детей 3 - 4 лет

Что нужно, чтобы ребёнок рос любознательным, умным, сообразительным? Постарайтесь прислушаться к малышу, понять особенности его возраста, оценить его собственные, индивидуальные возможности.

Три года - это тот рубеж, на котором кончается раннее детство и начинается дошкольный возраст. Ребёнок начинает отделять себя от мира окружающих взрослых, он вступает в более самостоятельную жизнь. Малыш уже многое понимает, знает и умеет и стремится узнать ещё больше. Ваша задача - помочь ему в этом. В умственном развитии дошкольника - главное это знакомство с окружающими его предметами. Их форма, величина, цвет, расположение в пространстве, передвижение - вот то, что привлекает ребёнка.

 

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

Игры, направленные на развитие внимания, потребуют тщательного рассматривания и сопоставления предметов, выявления их сходства и различий. Развивать словесную память рекомендуется в ролевой игре, где запоминание слов станет необходимым условием выполнения ребёнком взятой на себя роли. Другие игры направлены на тренировку зрительной памяти. Большая группа дидактических игр направлена на развитие мышления ребёнка. Для трёхлетнего малыша наиболее целесообразно решение мыслительных задач, требующих раскрытия строения предметов и их взаимного пространственного расположения. Следующая группа игр ориентирована на развитие творческих способностей ребёнка, стимулирование его воображения. Малыш будет стремиться замечать одновременно разные качества предметов, искать разнообразные варианты видения одной и той же вещи или рисунка. И наконец, математические игры-задания помогут научить ребёнка выделять количественные отношения между предметами.

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

Важно не только научит ребёнка чему-либо, но и вселить в него уверенность в себе, сформировать умение отстаивать свою идею, своё решение. Особенно это касается выполнения творческих заданий, которые обычно имеют несколько решений и которые не предполагают жёсткой оценки: «верно - неверно». Нужно научить ребёнка принимать критику без обид и выдвигать новые идеи.

И опять-таки здесь важны индивидуальные черты ребёнка. Если он смел и уверен в себе, можно начинать учить его критически оценивать свои ответы. Если застенчив, нерешителен, лучше сначала подбодрить его и поддержать любую инициативу. Если малыш стремится быстро менять задания, отделываясь первым попавшимся ответом, то хорошо бы заинтересовать его заданием, научить находить в нем новые детали, насыщая знакомое новым содержанием. И наоборот, если, выполняя игровое задание, ребёнок «увязает» в бесконечных деталях, что мешает ему двигаться вперёд, лучше помочь ему выбрать один вариант, оставив всё лишнее в стороне, потренироваться в умении переходить от одной идеи к другой, что особенно важно при выполнении творческих заданий.

Занимаясь с ребёнком, помните, что его действия лишь только начинают становиться целенаправленными. Малышу ещё очень трудно следовать намеченной цели, он легко отвлекается и переходит от одного занятия к другому. Быстро наступает утомление. Внимание ребёнка может быть сосредоточено одновременно только на небольшом количестве предметов. Интерес легко возникает (особенно, когда ребёнок видит новые и яркие предметы), но также легко и пропадает. Поэтому, если вы хотите организовать развивающие игры-занятия, помните три правила:

Правило первое: не давайте малышу для постоянного пользования игрушки, с которыми будете проводить игры, чтобы к него не пропал интерес к ним.

Правило второе: во время игры ребёнка не должны отвлекать посторонние предметы. Все лишнее нужно убрать из поля зрения малыша.

Правило третье: пусть игры будут достаточно простыми и совсем короткими. Даже 5 минут вполне достаточно! Но всегда стремитесь, чтобы ребёнок довёл начатое дело до конца. А после этого смените игру на новую - и вы увидите, что внимание ребёнка снова оживёт.

Каждая игра - это общение ребёнка со взрослым, с другими детьми; это школа сотрудничества, в которой он учится и радоваться успеху сверстника, и стойко переносит свои неудачи. Доброжелательность, поддержка, радостная обстановка выдумки и фантазии - только в этом случае наши игры будут полезны для развития ребёнка.

В каждую игру можно играть с одним малышом, а можно и с несколькими. А ещё лучше играть всей семьёй, хоть на несколько минут откладывая свои дела. Радость, которую вы доставите ребёнку, станет и вашей радостью, а проведённые вместе приятные минуты помогут вам сделать добрее и веселее совместную жизнь. Так играйте же вместе с малышом!