Escolha dos leitores
Artigos populares
Para um grande projeto moderno, geralmente é necessário usar CNC para páginas. Tem um efeito positivo na indexação e nos resultados do site.
CNC - URL compreensível por humanos. Em outras palavras, esta é a parte transliterada em latim do URL. Já discutimos a transliteração do alfabeto russo para PHP. O Bitrix possui essa função; é utilizado, por exemplo, quando um novo elemento ou seção de um bloco de informações é criado, o código simbólico desse elemento ou seção é gerado a partir de seu nome. Mas o que fazer se os elementos já foram criados, mas os códigos simbólicos não estão cadastrados. Vejamos uma solução para este caso:
//генерация символьных кодов в битриксе //https://dev.1c-bitrix.ru/community/webdev/user/30522/blog/6794/ - оригинальная статья if(!CModule::IncludeModule("iblock")) { echo "Error with iblock module!"; die; } $arParams["IBLOCK_ID"] = 28; //id инфоблока $arParams["LIST_CNT"] = 50; //количество элементов для генерации $arParams["TYPE_WORK"] = "element"; // {section | element} указываем для кого генерировать код $arOrder = array("sort" =>"inc",); $arFilter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "IBLOCK_LID" => "s1" //nome do site //"CODE" => "", //"CODE" => false); $arTransParams = array(//(comprimento máximo do código,case(inferior,superior,não alterar), //substitua o espaço por...,altere outros caracteres por...,remova caracteres de substituição extras) "max_len" => 100 , "change_case" => "L", // "L" - toLower, "U" - toUpper, false - não altere "replace_space" => "-", "replace_other" => "-", "delete_repeat_replace " => verdadeiro); if($arParams["TYPE_WORK"] == "section")(//para seções $db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false); $db_elemens->NavStart($arParams["LIST_CNT"] ); eco ""; while($ar_res = $db_elemens->GetNext()) ( $transName = CUtil::translit($ar_res["NOME"], "ru", $arTransParams); $arPropArray = Array("CÓDIGO" => $transName); $el = new CIBlockSection; $res = $el->Update($ar_res["ID"], $arPropArray); ".$ar_res["NOME"]."é ".$transNome."".($res?" e OK":" e falhou")."\r\n"; ) echo ""; )elseif($arParams["TYPE_WORK"] == "element")(//para elementos $db_elemens = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => $arParams[" LIST_CNT"])); echo ""; //para saída formatada do resultado da geração while($obElement = $db_elemens->GetNextElement()) ( $ar_res = $obElement->GetFields(); $transName = CUtil::translit(trim($ar_res[" NAME" ]), "ru", $arTransParams);//função para gerar um código sim a partir do nome $arPropArray = Array("CODE" => $transName."-".$ar_res["ID"],) ;//k adiciona um "prefixo" ao código finalizado - "-id" $el = new CIBlockElement;//escreve o resultado , reescreva o código deste elemento echo $ transName."-".$ar_res["ID"].""; } ?>
"; // mostra o resultado) echo "
Execute o script PHP várias vezes em um arquivo separado ou no console PHP no painel de administração do Bitrix até que as mensagens sobre a geração bem-sucedida de código simbólico parem de aparecer. Como resultado, uma string latina na forma do CNC correspondente aparecerá no campo “Código do caractere”.
Esquis infantis: lyzhi-detskie
Brinquedo LEGO: igrushka-lego
Se a formatação do código não for especificada nesta seção, o código deverá ser formatado de acordo com PSR-2
Comentar o código PHP é parte integrante dele!
Ao comentar o código, você deve usar comentários PHPDoc.
Para comentários explicativos de uma linha em seu código, você pode usar comentários regulares começando com // .
A regra básica para nomear variáveis é que o nome deve ser tal que nenhum comentário seja necessário para explicar o propósito da variável.
Os nomes de variáveis usam os seguintes prefixos:
$arUserList = array(); $dbRes = CIBlockElement::GetByID($id); $bAtivo = falso;
Os nomes das variáveis não devem começar com sublinhado.
Variáveis globais são escritas em letras MAIÚSCULAS, separadas por sublinhados.
Global $USER, $APPLICATION, $AR_MESSAGES.
O uso de variáveis globais é permitido somente quando for absolutamente necessário. Use o que o D7 oferece onde ele oferece!
Variáveis locais de um script (função, método, classe) sempre começam com uma letra minúscula, as palavras são separadas por letras maiúsculas no primeiro caractere (camelCase).
Esta regra se aplica a abreviações.
Aqueles. A estação BBC está escrita $bbcStation; $arBbcEstações; .
Há apenas uma exceção - o ID é escrito em maiúsculas.
Aqueles. $sectionID , $arElementIDs .
$contador = 0; $bElementActive = falso; $lastErrorMsg = ""; $ID = $_GET["ID"];
Variáveis usadas em construções FOR... FOREACH podem ser chamadas de abreviadas se o código do bloco em que são utilizadas for visualizado sem rolar a página.
Para ($i = 0; $i< count($arRows); $i++) { // ... } foreach ($arElement as $k =>$v) ( // ... ) while ($arr = $dbRes->Fetch()) ( // ... )
Os nomes das constantes são escritos em letras MAIÚSCULAS, as palavras são separadas por sublinhados. Devido ao escopo global, as constantes devem ser precedidas de um prefixo curto (pelo nome do módulo, componente, modelo).
Os códigos simbólicos no Bitrix são necessários para muitas coisas e, portanto, você deve manter o mesmo nome. O código dos caracteres deve ser escrito em letras latinas, sem números ou caracteres especiais, e deve refletir a essência do bloco, seção ou elemento de informação.
Devido ao escopo global das funções, seus nomes devem começar com um prefixo curto (pelo nome de um módulo, componente, modelo).
Uma regra comum para estruturas de controle é que um bloco lógico de código seja indentado.
Se o bloco não couber em uma tela, é feito um recuo de pelo menos duas abas. Um grande bloco de código atribuído a um elemento lógico deve ser separado por duas ou mais linhas em branco e fornecido com comentários de abertura e fechamento explicando a lógica do elemento.
Configuração do plugin phpfmt.
Código de caracteres internacional padrão, em que cada caractere é codificado em sete bits. Tópicos telecomunicações, conceitos básicos EN ISO 7...
código ISO-7- Código Internacional Padrão de Caracteres (ISO 646 1973), em que cada caractere é codificado com sete dígitos. Nos EUA, a versão deste código é chamada ASCII. [E.S.Alekseev, A.A. Dicionário explicativo inglês-russo sobre engenharia de sistemas computacionais. Moscou 1993]… … Guia do Tradutor Técnico
Código (em computador digital)- Código em computador digital, sistema convencional de sinais de apresentação de informação num computador digital. Cada K. usa os sinais de seu próprio alfabeto. Para a maioria dos alfabetos K., os alfabetos têm dois caracteres ou consistem em letras de um alfabeto de dois caracteres. A forma física de K. depende do personagem... ...
Código da companhia aérea IATA- Código da companhia aérea IATA, identificador individual de 2 ou 3 caracteres atribuído à companhia aérea pela Associação Internacional de Transporte Aéreo (IATA). Este código é alocado de acordo com a resolução IATA nº 762 pela sede da associação em ... ... Wikipedia
Código- I (código francês, do código latino de leis) um sistema de sinais convencionais (símbolos) para transmissão, processamento e armazenamento (memorização) de informações diversas. A sequência final de caracteres do código é chamada de palavra. Número de caracteres diferentes... ... Grande Enciclopédia Soviética
RADIX-50- um código simbólico que permite escrever três caracteres em uma palavra de 16 bits. Usado principalmente em minicomputadores, principalmente da família PDP 11 (computador SM), para armazenar nomes de arquivos nos sistemas de arquivos OS RT 11 e RSX 11, nomes de módulos... ... Wikipedia
ESCON- Interface Fibre Channel (Enterprise Systems Connection) que fornece troca de informações entre o servidor IBM zSeries e dispositivos periféricos (ou outro servidor). Usado pela primeira vez em servidores de arquitetura... Wikipedia
endereço- substantivo, m., usado frequentemente Morfologia: (não) o quê? endereços, o quê? endereço, (ver) o quê? endereço, o quê? endereço, sobre o quê? sobre o endereço; por favor. O que? endereços, (não) o quê? endereços, o quê? endereços, (eu vejo) o quê? endereços, o quê? endereços, sobre o quê? sobre endereços 1. O endereço de alguém... ... Dicionário Explicativo de Dmitriev
ID da tarefa- Um código de caractere atribuído a uma tarefa que está em execução ou pronta para ser executada. [Domarev V.V. Segurança da tecnologia da informação. Abordagem sistemática.] Tópicos segurança da informação EN identificador de tarefa ... Guia do Tradutor Técnico
Pascal (linguagem de programação)- Este artigo ou seção precisa ser revisado. Não há módulos, OOP ou outras tendências inovadoras em Pascal. As descrições das extensões devem estar presentes apenas em artigos sobre o correspondente ... Wikipedia
Pascal (linguagem)- Pascal Semântica: processual Tipo de execução: compilador Aparecido em: 1970 Autor(es): Niklaus Wirth Pascal é uma linguagem de programação de alto nível de uso geral. Uma das linguagens de programação mais famosas, amplamente... ... Wikipedia
Data de publicação: 12/12/2011
Outro dia precisei gerar códigos de caracteres para seções e elementos do bloco de informações “Catálogo de Móveis” no Bitrix.
O que aconteceu Código do caractere em uma seção ou elemento de um bloco de informações em Bitrix? O código simbólico de um elemento de bloco de informações (seção) no Bitrix significa identificador mnemônico, que é um conjunto de caracteres (letras e números latinos). Este identificador mnemônico pode ser usado para gerar endereços de links para páginas dinâmicas em um site. Por exemplo, se o elemento “Sofá Cosmos” da seção “Móveis Estofados” tiver o código simbólico “divan-cosmos”, então o link no site pode ser semelhante a - “/catalog/myagkaya-mebel/divan-cosmos”
É feito de uma só vez, a questão principal era qual método transliterar. O primeiro pensamento é criar algum tipo de método próprio. Eu o deixei de lado imediatamente. Pela simples razão de que – afinal, como são gerados esses códigos simbólicos no CMS? Como eles são gerados? Então existe um método! Sim ele é.
Existe uma função tão simples que por algum motivo ainda não está descrita na documentação oficial da API Bitrix. (no momento da redação deste artigo (dezembro de 2011) não havia menção na documentação)
CUtil::translit($str, $lang, $params = array())
A função translitera uma string $str da língua $lang com parâmetros $parâmetros.
Parâmetros de matriz $parâmetros:
Nas novas versões do kernel (vi em 11.5.2) um novo parâmetro apareceu "safe_chars", o padrão é "" e também "use_google" comentado, o padrão é falso.
EXEMPLO de uso:
"-","replace_other"=>"-"); $trans = Cutil::translit($nome,"ru",$arParams); echo $trans; ?>
Atualização. A pergunta foi feita nos comentários:
“É possível simplesmente escrever algo no Bitrix para que o CNC seja gerado na importação de blocos de informação?”
A pergunta está incorreta e difícil de entender. Mas como um caso especial, darei este exemplo -
A tarefa é gerar códigos simbólicos para produtos ao importar um catálogo comercial de CSV.
"-","replace_other"=>"-"); $trans = Cutil::translit($nome,"ru",$arParams); $arFields["CÓDIGO"] = $trans; ) ) ?>
Assim, ao importar de um arquivo CSV, será gerado automaticamente um código simbólico – uma transliteração do nome.
Importante UPD2.
As pessoas começaram a fazer perguntas sobre o translit não funcionar, veja os comentários. Decidi descobrir, mas não consigo reproduzir o problema em nenhum dos meus projetos atuais ou antigos - está tudo bem para mim. Mas as pessoas não?
SOLUÇÃO!
O problema é devido à codificação. Adicione ao .htaccess:
php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
O que fazer se isso não ajudar? Vá para o painel de administração para a página “verificação do site” e execute a verificação. Se a verificação ainda mostrar uma mensagem sobre codificação incorreta, não fique chateado. Você precisa entrar em contato com o hoster para corrigir essas configurações ou esquecer a função de translit padrão e escrever a sua própria. (E também pare de se surpreender com todas as outras falhas de codificação).
O texto datilografado consiste em caracteres impressos - símbolos gráficos.
Símbolos gráficos são símbolos que aparecem visíveis no texto.
Todos os símbolos gráficos são coletados em um conjunto de um único sistema Unicode universal.
Insira um símbolo gráfico Unicode em um documento HTML
- o objetivo principal e único desta tabela.
Você pode inserir um símbolo em um documento HTML de uma das seguintes maneiras:
A fonte de um símbolo, seu tamanho e cor em HTML podem ser definidos com código como:
CÓDIGO DO CARACTERE
Onde,
Arial - fonte,
10px - tamanho da fonte em pixels,
#ff0000 – código da cor da fonte (vermelho)
Por exemplo:
☎ - tamanho da fonte do caractere 30px,
☎ - tamanho da fonte do símbolo 30px, cor - vermelho
☎ - tamanho da fonte do caractere 20px,
☎ - tamanho da fonte do símbolo 10px.
Observação As fontes recomendadas para inserção de caracteres especiais são Arial, Verdana e Tahoma. Essas fontes exibem caracteres Unicode corretamente e são suportadas corretamente por aplicativos da web.
Mnemônicos (grego) - a arte de lembrar algo. Os mnemônicos são usados para facilitar a percepção de informações difíceis de memorizar quando o objeto de memorização é levado a um estado associativo com algo.
Caracteres de controle em HTML (XHTML) são caracteres de serviço da linguagem HTML usados no layout HTML de uma página da web. Qualquer navegador deve suportar esses caracteres, pois sem eles é impossível exibir corretamente o texto HTML. Os caracteres de controle não são exibidos no texto e, quando inseridos diretamente no teclado, são interpretados pelo navegador como sinais de pontuação solicitando que alguma ação seja executada quando a página é desenhada na tela.
É permitida a utilização de caracteres de controle em textos comuns, onde simbolizam conceitos universais e são interpretados pelo navegador como caracteres tipográficos comuns. Ao usar símbolos de serviço em textos HTML dessa forma, você precisa inserir não o valor do símbolo em si, mas seu código HTML. Porque, repito, caso contrário o navegador perceberá o símbolo do serviço como um apelo à ação e não exibirá corretamente o texto HTML na tela do monitor.
Os símbolos de controle e seu código HTML são conhecidos e compreendidos por todos os navegadores, sem exceção, o que, infelizmente, não se pode dizer de outros símbolos que podem ser exibidos incorretamente em diferentes navegadores ou, pior ainda, nem exibidos.
espaço de comprimento N (espaço regular) | |||||
espaço de comprimento M (longspace) | |||||
- | hífen suave (caractere não imprimível) | - | | ||
‑ | hífen | ‑ |
|||
---|---|---|---|---|---|
- | traço de comprimento N (traço normal) | - | – | ||
— | traço de comprimento M (em traço) | — | — | ||
. | ponto | . | |||
, | vírgula | , | |||
… | elipse | … |
… |
||
: | cólon | : | |||
; | ponto e vírgula | ; | |||
! | ponto de exclamação | ! ǃ |
|||
? | ponto de interrogação | ? | |||
@ | "cachorro" | @ | |||
* | "estrela" | * | |||
# | "treliça" | # | |||
‘ | citação única superior esquerda | ‘ | ‘ |
||
’ | citação única superior direita | ’ | ’ |
||
‚ | citação única inferior direita | ‚ | ‚ |
||
“ | citação dupla superior esquerda | “ | “ |
||
” | citação dupla superior direita | ” | ” |
||
„ | citação dupla inferior direita | & bdquo | „ |
||
« | aspas duplas no canto esquerdo (Rus) | « | « | ||
» | aspas duplas no canto direito (Rus) | » | » | ||
́ | acento, exemplo: Vasya | ́ | |||
" | apóstrofo, exemplo: Você"eu | " | |||
´ | agudo, exemplo: Vasya | ´ | ´ | ||
¶ | parágrafo (caractere não imprimível) | ¶ | ¶ | ||
§ | parágrafo | § | § | ||
ˆ | sotaque (pássaro invertido) | ˆ | ˆ |
||
˜ | til pequeno | ˜ | ˜ |
||
¦ | linha pontilhada vertical | ¦ | ¦ | ||
( | parêntese esquerdo | ( | |||
) | parêntese direito | ) | |||
〈 | colchete angular esquerdo | 〈 | 〈 | ||
〉 | suporte de ângulo reto | 〉 | 〉 | ||
‹ | colchete angular esquerdo, opção | ‹ | ‹ | ||
› | colchete de ângulo reto, opção | › | › | ||
[ | colchete esquerdo | [ | |||
] | colchete direito | ] | |||
/ | barra - caractere de barra | / | |||
\ | barra invertida | \ | |||
⁄ | barra (sinal de divisão) | ⁄ | ⁄ | ||
ǀ | Barra vertical | ǀ | |||
ǁ | barra vertical dupla | ǁ | |||
‾ | sobrelinhando, exemplo: Vasya‾vasya | ‾ | ‾ | ||
¯ | macron, exemplo: Vasya¯vasya | ¯ | ¯ |
+ | mais | + | + | ||
---|---|---|---|---|---|
− | menos | − | - − |
||
= | é igual a | = | |||
± | mais ou menos | ± | ± | ||
× | sinal de multiplicação | × | × | ||
÷ | sinal de divisão | ÷ | ÷ | ||
⋅ | operador ponto (meio da linha) | ⋅ | · ⋅ |
||
∗ | operador asterisco (meio da linha) | ∗ | ∗ | ||
∼ | operador til | ∼ | ∼ | ||
. | marcador de lista (meio da linha) | . | |
||
¹ | sobrescrito "1" | ¹ | ¹ | ||
² | sobrescrito "2" | ² | ² | ||
³ | sobrescrito "3" | ³ | ³ | ||
Sobrescrito e subscrito em HTML (XHTML) pode ser inserido usando tags E , respectivamente: NÚMERO Sobrescrito→ NUMBER Sobrescrito NÚMERO Subscrito→ NUMBER Subscrito |
|||||
½ | fração "metade" | ½ | ½ | ||
⅓ | fração "um terço" | ⅓ | |||
¼ | fração "um quarto" | ¼ | ¼ | ||
¾ | fração "três quartos" | ¾ | ¾ | ||
№ | sinal numérico | № | |||
% | por cento | % | |||
‰ | ppm | ‰ | ‰ |
||
° | graus | ° | ° | ||
′ | primo (minutos, pés) | ′ | ′ | ||
″ | duplo primo (segundos, polegadas) Exemplo 1: 30° 25′ 12″ Exemplo 2: 25′ 12 ″ |
″ | ″ | ||
µ | micro | µ | µ | ||
π | Pi | π | π | ||
ƒ | sinal de função (não deve ser confundido com "integral") |
ƒ | ƒ |
||
∫ | integrante | ∫ | ∫ | ||
∅ | zero cruzado, conjunto vazio (não deve ser confundido com "diâmetro") |
∅ | ∅ | ||
⌀ | diâmetro (não confundir com o “o” latino riscado) | ⌀ | |||
ø | Latim "o" riscado diagonalmente | ø | ø | ||
Ø | "O" maiúsculo latino riscado diagonalmente | Ø | Ø | ||
∏ | marca de trabalho | ∏ | ∏ | ||
∑ | sinal de soma | ∑ | ∑ | ||
√ | radical (raiz quadrada ou raiz x) |
√ | √ | ||
∝ | proporcionalmente | ∝ | ∝ | ||
∞ | infinidade | ∞ | ∞ | ||
∠ | canto | ∠ | ∠ | ||
⊥ | ortogonal (perpendicular) | ⊥ | ⊥ | ||
∴ | assine "portanto" | ∴ | ∴ | ||
≅ | Aproximadamente igual | ≅ | ≅ | ||
≈ | quase igual | ≈ | ≈ | ||
≠ | não igual | ≠ | ≠ | ||
≡ | identicamente | ≡ | ≡ | ||
≤ | menor ou igual | ≤ | ≤ | ||
≥ | mais ou igual | ≥ | ≥ | ||
∧ | lógico E | ∧ | ∧ | ||
∨ | OU lógico | ∨ | ∨ | ||
⊕ | sinal de mais em um círculo (valor direto) |
⊕ | ⊕ | ||
⊗ | sinal de multiplicação em um círculo (produto vetorial, seta do observador) |
⊗ | ⊗ | ||
ʘ | ponto em um círculo (seta para o observador) |
ʘ |
✵ ✵ |
|||||
Artigos relacionados: | |
Módulos Bíblicos "Citações Bíblicas" no iOS
A atualização 4.2 do App da Bíblia para iPhone, iPad e iPod touch está disponível... Windows 10 como entrar no modo de segurança
Usuários iniciantes podem encontrar pela primeira vez um conceito como... Comandos de arquivo bat. Como criar um arquivo bat? Comandos básicos. Windows para manequins: noções básicas de como trabalhar com comandos de arquivo bat
Os arquivos bat do Windows são uma maneira conveniente de executar várias tarefas... |