PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 9
Arvaal
Отправлено: 23 Декабря, 2017 - 20:10:45 • Тема: Объединение одинаковых значений в массиве • Форум: Вопросы новичков
Ответов: 20 Просмотров: 6890
Что то я по разному пробовал и ничего не получается....
Если есть добрые люди... помогите.
Использую движок Опенкрт 1.5.4
Вот код tpl файла:
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP echo $header ; ?> <?PHP echo $column_left ; ?> <?PHP echo $column_right ; ?>
<div id="content"><?PHP echo $content_top ; ?>
<div class="breadcrumb">
<?PHP foreach ( $breadcrumbs as $i => $breadcrumb ) { ?>
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<?PHP echo $breadcrumb [ 'separator' ] ; ?> <?PHP if ( $i + 1
< count ( $breadcrumbs ) ) { ?> <a href="
<?PHP echo $breadcrumb [ 'href' ] ; ?> " itemprop="url"><span itemprop="title" title="
<?PHP echo $breadcrumb [ 'text_breadcrumbs_title' ] ; ?> ">
<?PHP echo $breadcrumb [ 'text' ] ; ?> </span></a>
<?PHP } else { ?> <span itemprop="title" title="
<?PHP echo $breadcrumb [ 'text_breadcrumbs_title' ] ; ?> "><link itemprop="url" href="
<?PHP echo $breadcrumb [ 'href' ] ; ?> " />
<?PHP echo $breadcrumb [ 'text' ] ; ?> </span>
<?PHP } ?> </span>
<?PHP } ?>
</div>
<h1><?PHP echo $heading_title ; ?> </h1>
<?PHP if ( $categories ) { ?>
<h2><?PHP echo $text_index ; ?> </h2>
<p>
<?PHP foreach ( $categories as $category ) { ?>
<a onclick="scroll_to('<?PHP echo '#' . $category [ 'city' ] ; ?> ');"><b><?PHP echo $category [ 'city' ] ; ?> </b></a>
<?PHP } ?>
</p>
<?PHP foreach ( $categories as $category ) { ?>
<div class="manufacturer-list">
<div class="manufacturer-heading"><?PHP echo $category [ 'city' ] ; ?> <a id="<?PHP echo $category [ 'city' ] ; ?> "></a></div>
<div class="manufacturer-content">
<?PHP if ( $category [ 'pvz' ] ) { ?>
<?PHP for ( $i = 0 ; $i < count ( $category [ 'pvz' ] ) ; ) { ?> <ul>
<?PHP $j = $i + ceil ( count ( $category [ 'pvz' ] ) / 4
) ; ?> <?PHP for ( ; $i < $j ; $i ++ ) { ?>
<?PHP if ( isset ( $category [ 'pvz' ] [ $i ] ) ) { ?> <li>
<h3 style="cursor:pointer" class="city open_size-table" onclick="$('.info-<?PHP echo $category [ 'pvz' ] [ $i ] [ 'code' ] ; ?> ').popup('show');"><?PHP echo $category [ 'pvz' ] [ $i ] [ 'city' ] ; ?> </h3>
<div id="size-table" class="show_size-table info-<?PHP echo $category [ 'pvz' ] [ $i ] [ 'code' ] ; ?> " style="display:none;padding:5px;border:1px solid gray">
<i class="fa fa-times close" onclick="$('.info-<?PHP echo $category [ 'pvz' ] [ $i ] [ 'code' ] ; ?> ').popup('hide')"></i>
<div class="head box-heading"><?PHP echo $category [ 'pvz' ] [ $i ] [ 'city' ] ; ?> </div>
<div class="size-table">
<span><b>Расположен: </b><?PHP echo $category [ 'pvz' ] [ $i ] [ 'name' ] ; ?> </span><br/>
<span><b>Адрес: </b><?PHP echo $category [ 'pvz' ] [ $i ] [ 'address' ] ; ?> </span><br/>
<span><b>Телефон: </b><?PHP echo $category [ 'pvz' ] [ $i ] [ 'phone' ] ; ?> </span><br/>
<span><b>Время работы: </b><?PHP echo $category [ 'pvz' ] [ $i ] [ 'work_time' ] ; ?> </span><br/>
</div>
</div>
</li>
<?PHP } ?>
<?PHP } ?>
</ul>
<?PHP } ?>
<?PHP } ?>
</div>
</div>
<?PHP } ?>
<?PHP } else { ?>
<div class="content"><?PHP echo $text_empty ; ?> </div>
<div class="buttons">
<div class="right"><a href="<?PHP echo $continue ; ?> " class="button"><?PHP echo $button_continue ; ?> </a></div>
</div>
<?PHP } ?>
<?PHP echo $content_bottom ; ?>
</div>
<?PHP echo $footer ; ?>
А вот код php из контролера:
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
class ControllerInformationPvz extends Controller {
public function index( ) {
$this -> language -> load ( 'information/pvz' ) ;
$this -> document -> setTitle ( $this -> language -> get ( 'heading_title' ) ) ;
/* Начало добавление альтернативной канонической ссылки */
if ( ( isset ( $_SERVER [ 'HTTPS' ] ) && ( $_SERVER [ 'HTTPS' ] == 'on' || $_SERVER [ 'HTTPS' ] == '1' || $_SERVER [ 'HTTPS' ] ) ) || ( ! empty ( $_SERVER [ 'HTTP_X_FORWARDED_PROTO' ] ) && ( strtolower ( $_SERVER [ 'HTTP_X_FORWARDED_PROTO' ] ) == 'https' ) || ( ! empty ( $_SERVER [ 'HTTP_X_FORWARDED_SSL' ] ) && $_SERVER [ 'HTTP_X_FORWARDED_SSL' ] == 'on' ) ) ) { $http_prot = HTTPS_SERVER_1;
} else {
$http_prot = HTTP_SERVER_1;
}
if ( $this -> url -> link ( 'information/pvz' ) !== $http_prot . $_SERVER [ 'REQUEST_URI' ] || $this -> url -> link ( 'information/pvz' ) !== $http_prot . $_SERVER [ 'REQUEST_URI' ] && isset ( $this -> request -> get [ 'page' ] ) ) { $this -> document -> addLink ( $this -> url -> link ( 'information/pvz' ) , 'canonical' ) ;
$this -> document -> setRobots ( 'noindex, follow' ) ;
}
/* Конец добавление альтернативной канонической ссылки */
$this -> data [ 'heading_title' ] = $this -> language -> get ( 'heading_title' ) ;
$this -> data [ 'text_index' ] = $this -> language -> get ( 'text_index' ) ;
$this -> data [ 'text_empty' ] = $this -> language -> get ( 'text_empty' ) ;
$this -> data [ 'index_url' ] = $this -> url -> link ( 'information/pvz' ) ;
$this -> data [ 'button_continue' ] = $this -> language -> get ( 'button_continue' ) ;
$this -> data [ 'breadcrumbs' ] = array ( ) ;
$this -> data [ 'breadcrumbs' ] [ ] = array ( 'text' => $this -> language -> get ( 'text_home' ) ,
'text_breadcrumbs_title' => $this -> language -> get ( 'text_breadcrumbs_title' ) ,
'href' => $this -> url -> link ( 'common/home' ) ,
'separator' => false
) ;
$this -> data [ 'breadcrumbs' ] [ ] = array ( 'text' => $this -> language -> get ( 'text_brand' ) ,
'text_breadcrumbs_title' => $this -> language -> get ( 'text_brand' ) ,
'href' => $this -> url -> link ( 'information/pvz' ) ,
'separator' => $this -> language -> get ( 'text_separator' )
) ;
$this -> data [ 'categories' ] = array ( ) ;
if ( file_exists ( 'catalog/view/javascript/downloadJs/pvz_list.xml' ) ) { } else {
}
$results = $xml -> Pvz ;
foreach ( $results as $result ) {
$key = '0 - 9' ;
} else {
}
if ( ! isset ( $this -> data [ 'pvzes' ] [ $key ] ) ) { $this -> data [ 'categories' ] [ $key ] [ 'city' ] = $key ;
}
$this -> data [ 'categories' ] [ $key ] [ 'pvz' ] [ ] = array ( 'code' => $result [ 'Code' ] ,
'city' => $result [ 'City' ] ,
'name' => $result [ 'Name' ] ,
'address' => $result [ 'Address' ] ,
'phone' => $result [ 'Phone' ] ,
'email' => $result [ 'Email' ] ,
'work_time' => $result [ 'WorkTime' ] ,
'coord_x' => $result [ 'coordX' ] ,
'coord_y' => $result [ 'coordY' ]
) ;
}
asort ( $this -> data [ 'categories' ] ) ;
$this -> data [ 'continue' ] = $this -> url -> link ( 'common/home' ) ;
if ( file_exists ( DIR_TEMPLATE
. $this -> config -> get ( 'config_template' ) . '/template/information/pvz_list.tpl' ) ) { $this -> template = $this -> config -> get ( 'config_template' ) . '/template/information/pvz_list.tpl' ;
} else {
$this -> template = 'default/template/information/pvz_list.tpl' ;
}
'common/column_left' ,
'common/column_right' ,
'common/content_top' ,
'common/content_bottom' ,
'common/footer' ,
'common/header'
) ;
$this -> response -> setOutput ( $this -> render ( ) ) ;
}
}
?>
Будьте добры помогите объединить данные из массива по одинаковым данным из ключа City.
Arvaal
Отправлено: 23 Декабря, 2017 - 00:06:34 • Тема: Объединение одинаковых значений в массиве • Форум: Вопросы новичков
Ответов: 20 Просмотров: 6890
Строитель пишет: Arvaal , ну если хватит памяти, то попробуйте так
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$array = [
[ 'Оранжевый' => 'Апельсин' ] ,
[ 'Красный' => 'Яблоко' ] ,
[ 'Зеленый' => 'Огурец' ] ,
[ 'Красный' => 'Помидор' ] ,
[ 'Желтый' => 'Лимон' ] ,
[ 'Красный' => 'Клубника' ]
] ;
$result = [ ] ;
foreach ( $array as $arr ) {
foreach ( $arr as $key => $item ) {
$result [ $key ] = $result [ $key ] . ', ' . $item ;
} else {
$result [ $key ] = $item ;
}
}
}
echo '<pre>' , print_r ( $result , true ) , '</pre>' ; /*
Array
(
[Оранжевый] => Апельсин
[Красный] => Яблоко, Помидор, Клубника
[Зеленый] => Огурец
[Желтый] => Лимон
)
*/
Спасибо
Arvaal
Отправлено: 22 Декабря, 2017 - 23:11:36 • Тема: Объединение одинаковых значений в массиве • Форум: Вопросы новичков
Ответов: 20 Просмотров: 6890
Если есть массив например:
Оранжевый - Апельсин
Красный - Яблоко
Зеленый - Огурец
Красный - Помидор
Желтый - Лимон
Красный - Клубника
Как сделать так чтобы объединились ключи например получилось так:
Оранжевый - Апельсин
Красный - Яблоко, Помидор, Клубника
Зеленый - Огурец
Желтый - Лимон
Arvaal
Отправлено: 26 Ноября, 2015 - 13:11:14 • Тема: Алфавитный указатель • Форум: Работа с СУБД
Ответов: 6 Просмотров: 2472
Здравствуйте знатоки!
Никак не получается сделать алфавитный указатель для списка городов доставки СДЭК
Вот таким кодом:
PHP:
скопировать код в буфер обмена
<?PHP
header ( 'Content-type: text/html; charset=utf-8' ) ; echo ( '<div style="display: table;">' ) ;
for ( $i = 0 ; $i < count ( $xml -> Pvz ) ; $i ++ ) { echo ( '<div style="display: table-cell;list-style: none;padding: 0px">' ) ;
for ( ; $i < $j ; $i ++ ) {
if ( isset ( $xml -> Pvz [ $i ] ) ) { echo ( '<div style="border: 1px solid gray;padding: 8px;margin: 5px;width: 235px;">' ) ;
echo ( '<span style="font-weight: bold;font-size: 16px;">' . $xml -> Pvz [ $i ] [ 'City' ] . '</span>' ) ;
echo ( '<br/>' ) ;
echo ( '<span>Расположен: ' . $xml -> Pvz [ $i ] [ 'Name' ] . '</span>' ) ;
echo ( '<br/>' ) ;
echo ( '<span>Адрес: ' . $xml -> Pvz [ $i ] [ 'Address' ] . '</span>' ) ;
echo ( '<br/>' ) ;
echo ( '<span>Телефон: ' . $xml -> Pvz [ $i ] [ 'Phone' ] . '</span>' ) ;
echo ( '<br/>' ) ;
echo ( '<span>Время работы: ' . $xml -> Pvz [ $i ] [ 'WorkTime' ] . '</span>' ) ;
echo ( '<br/>' ) ;
echo ( '</div>' ) ;
}
}
echo ( '</div>' ) ;
}
echo ( '</div>' ) ;
?>
Я получаю через их апи список ПВЗ, но не могу их упорядочит таким образом:
А
Абокан, Армавир, Апшеронск, ........
Б
Барнаул, Берлин, Б....
В
Волгоград, Воронеж, В.....
Помогите пожалуйста реализовать такое.
Arvaal
Отправлено: 26 Сентября, 2014 - 21:47:12 • Тема: Редирект • Форум: Регулярные выражения
Ответов: 6 Просмотров: 2811
Здравствуйте. Подскажите пожалуйста как избавится от проблемы заключенной в ссылках такого вида http://localhost/http://localhost/ естественно ошибка 404, ссылка такой становится во втором магазине на опенкарт для главной, продолжить и логотип. Работаю со скриптом магазина Opencart 1.5.4
мой system/library/url.php
PHP:
скопировать код в буфер обмена
<?PHP
class Url {
private $url ;
private $ssl ;
public function __construct( $url , $ssl ) {
$this -> url = $url ;
$this -> ssl = $ssl ;
}
public function link ( $route , $args = '' , $connection = 'NONSSL' ) {
// SIMPLE START
$get_route = isset ( $_GET [ 'route' ] ) ?
$_GET [ 'route' ] : ( isset ( $_GET [ '_route_' ] ) ?
$_GET [ '_route_' ] : '' ) ;
/* if ($route == 'checkout/cart' && $get_route != 'checkout/cart') {
$connection = 'SSL';
$route = 'checkout/simplecheckout';
} */
if ( $route == 'checkout/checkout' && $get_route != 'checkout/checkout' ) {
$route = 'checkout/simplecheckout' ;
}
if ( $route == 'account/register' && $get_route != 'account/register' ) {
$route = 'account/simpleregister' ;
}
if ( $route == 'account/edit' && $get_route != 'account/edit' ) {
$route = 'account/simpleedit' ;
}
if ( $route == 'account/address/update' && $get_route != 'account/address/update' ) {
$route = 'account/simpleaddress/update' ;
}
if ( $route == 'account/address/insert' && $get_route != 'account/address/insert' ) {
$route = 'account/simpleaddress/insert' ;
}
// SIMPLE END
if ( $connection == 'NONSSL' ) {
$url = $this -> url ;
} else {
$url = $this -> ssl ;
}
$url .= 'index.php?route=' . $route ;
if ( $args ) {
if ( $route == 'common/home' ) {
if ( $connection == 'NONSSL' ) {
return $url ;
} else {
return $url ;
}
} else {
}
} else {
if ( $route == 'common/home' ) {
if ( $connection == 'NONSSL' ) {
return HTTP_SERVER;
} else {
return HTTPS_SERVER;
}
}
}
return $this -> rewrite ( $url ) ;
if ( $args ) {
}
return $this -> rewrite ( $url ) ;
foreach ( $this -> rewrite as $rewrite ) {
$url = $rewrite -> rewrite ( $url ) ;
}
return $url ;
}
public function addRewrite( $hook ) {
$this -> hook [ ] = $hook ;
}
public function rewrite( $url ) {
foreach ( $this -> hook as $hook ) {
$url = $hook -> rewrite ( $url ) ;
}
return $url ;
}
}
?>
Arvaal
Отправлено: 23 Августа, 2014 - 12:58:01 • Тема: Редирект • Форум: Регулярные выражения
Ответов: 6 Просмотров: 2811
IGORtrue пишет: PHP:
скопировать код в буфер обмена
if ( $_SERVER [ 'REQUEST_URI' ] == '...' || $_SERVER [ 'REQUEST_URI' ] == '...' ) {
header ( 'HTTP/1.1 301 Moved Permanently' ) ; header ( 'Location: /zhenskiye/krolik/sabina/de-grade-sh-241.html' ) ; }
Спасибо, все заработало!
Arvaal
Отправлено: 23 Августа, 2014 - 09:48:04 • Тема: Редирект • Форум: Регулярные выражения
Ответов: 6 Просмотров: 2811
IGORtrue пишет: PHP:
скопировать код в буфер обмена
if ( $_SERVER [ 'REQUEST_URI' ] == '/krolik/sabina-degrade1-p-596.html?osCsid=e02fb2d4f150846b5c5859a53a670091' && '/krolik/sabina-degrade1-p-596.html' && $_SERVER [ 'REQUEST_URI' ] == '' / krolik/ sabina- degrade1- p- 596. html'' ) {
header ( 'HTTP/1.1 301 Moved Permanently' ) ; header ( 'Location: /zhenskiye/krolik/sabina/de-grade-sh-241.html' ) ;
Спасибо. Но что то не работает, то есть редирект ни на 1 страницу, ни на 2 не делает.
Arvaal
Отправлено: 22 Августа, 2014 - 20:32:24 • Тема: Редирект • Форум: Регулярные выражения
Ответов: 6 Просмотров: 2811
Здравствуйте
Помогите разобраться с кодом:
if ($_SERVER['REQUEST_URI'] == '/krolik/sabina-degrade1-p-596.html?osCsid=e02fb2d4f150846b5c5859a53a670091' && '/krolik/sabina-degrade1-p-596.html') {
header('HTTP/1.1 301 Moved Permanently');
header('Location: /zhenskiye/krolik/sabina/de-grade-sh-241.html');
exit; }
как сделать чтобы это условие выполнялось при $_SERVER['REQUEST_URI'] == '/krolik/sabina-degrade1-p-596.html?osCsid=e02fb2d4f150846b5c5859a53a670091' и
$_SERVER['REQUEST_URI'] == ''/krolik/sabina-degrade1-p-596.html''
Как перечислить возможные значения чтобы сделать редирект обоих на один адрес.
Спасибо!
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB