Добрый день, нашел вот такой скрипт
public function getyear($id)
{
$select_year=getRequest('year');
$hierarchy=umiHierarchy::getInstance();
$childs=$hierarchy->getChilds($id);//получаем все новости ленты
$parent=$hierarchy->getElement($id);
$path=$parent->getAltName();//получаем путь к ленте новостей
$flag=true;
$result = '';
$year_array = array();
foreach ($childs as $key1 => $value1) //формируем массив всех годов, в которых есть новости
{
$element=$hierarchy->getElement($key1);
$date_news=$element->getValue('publish_time');
$temp=$date_news->getFormattedDate('Y');
$year_array[$temp]=1;
if ($flag)
{
$first=$temp;
$last=$temp;
$flag=false;
}
if ($first>$temp) $first=$temp;
if ($last<$temp) $last=$temp;
}
for($i = $last; $i >= $first; $i--) //формируем ссылки архива
{
if ($i==$select_year) $result.= "<span>$i</span>";
else if (!empty($year_array[$i])) $result.="<a href=\"/$path/?year=$i\">";
}
return $result;
}
Подскажите пожалуйста как дописать скрипт что бы ссылки выводились таким образом
март 2013
апрель 2013
январь 2013
ноябрь 2012
и т.д.
Заранее спасибо, а то всю голову уже сломал
Если вы вместо сформированного списка годов, хотите получить список месяцев к каждому году. То это все делается на уровне php. То есть так же как сейчас php перебирает все новости
foreach ($childs as $key1 => $value1) ...
вы также оставляете эту часть меняя только внутренний блок, в котором помимо года начинаете вытягивать и собирать в какой-нибудь массив месяца. Дата каждой новости вы получаете благодаря строчке $date_news=$element->getValue('publish_time');
, которая возвращает время в unix-timestamp формате
Единственное, что вам может понадобиться как знание umi/ Это то, как сформировать ссылку которая будет выводить новости за определенный год или месяц....
Если сейчас в вашем скрипте ссылка формируется с параметром ?year (<a href=\"/$path/?year=$i\">), который и указывает что вам нужны новости за опреденный год, то для вывода новостей за определенный год-месяц, вам надо использовать параметр month. То есть, ссылка для вывода новостей за март 2013 года будет выглядеть как (адрес_к_новостной_ленте?year=2013&month=3
у вас вопрос в том ключе как это сделать на php? или вам необходимы какие то