Classe PHP para construção de modelos. Usando arquivos tpl Como criar arquivos tpl em php

Olá pessoal. Eu gostaria de apresentar outra bicicleta escrita em PHP usando Objeto de Documento Modelo. Como é diferente de outros representantes de três rodas da mesma espécie? Na verdade, não existem tantas diferenças, ele combina o melhor de muitos. Por exemplo:

1. Separação completa de html e php.
2. Sem rótulos adicionais em modelos como


3. Capacidade de incorporar o conteúdo de outros arquivos de modelo no layout, tanto do php quanto usando uma tag especial no layout.
4. Capacidade de criar qualquer tag html na hora.
5. Capacidade de salvar em arquivo html tudo o que foi gerado e coletado.
6. Verificar a existência do arquivo html da página solicitada antes de gerar o template.

Para deixar imediatamente claro para todos como é conveniente e fácil de usar, contarei e mostrarei como o usei para criar um de meus projetos (suspeito que reescreverei todos os meus projetos para ele).

A primeira coisa que geralmente faço é obter todas as informações do banco de dados sobre a página ( palavras-chave, descrição da página, nome do modelo e endereços de arquivo css e js). Tudo isso eu armazeno no array $ head. Então eu pego o conteúdo do banco de dados e salvo no array $ page. E começo a trabalhar com a turma.

Portanto, primeiro chamo o construtor da classe e passo todos os parâmetros necessários para ele:

$ tpl = novo modelo; $ tpl -> ext = TPL_EXTENSION; # extensão de arquivos no diretório de modelo $ tpl -> htm = CACHE_EXTENSION; # extensão para páginas já geradas $ tpl -> skin_dir = DIR_TEMPLATES; # diretório contendo todos os modelos de site (por exemplo, modelos) $ tpl -> js_dir = DIR_JS; # diretório onde você precisa procurar os arquivos JS $ tpl -> css_dir = DIR_CSS; # diretório onde o CSS está localizado $ tpl -> img_dir = DIR_IMG; # diretório onde pictures $ tpl -> skin = $ _SESSION ["skin"]; # o nome do modelo que desejo usar $ tpl -> cache = DIR_CACHE; # onde salvar o html finalizado $ tpl -> log = FILE_T_LOGS; # onde escrever os logs $ tpl -> tag_start = SYMBOL_START_TAG; # O caractere que as variáveis ​​no modelo começam com $ tpl -> tag_end = SYMBOL_END_TAG; # O caractere que finaliza as variáveis ​​no modelo $ tpl -> dir_delimeter = DIRECTORY_SEPARATOR; $ tpl -> espaço = SYMBOL_SPACE; # caractere substituindo um espaço.
Fuf, parece que todas as variáveis ​​foram passadas, vamos em frente.
Para não forçar a turma a fazer trabalhos desnecessários, primeiro verificamos se já temos um arquivo Html pronto da página solicitada.
if ($ tpl -> TestPageStatus () === TRUE) (require $ tpl -> cacheFileName;) else ($ tpl -> page ("index"); # passar o nome do arquivo de template, a propósito, você pode passar vários deles, separados por vírgulas $ tpl -> assign ("HEAD", $ head); $ tpl -> assign ("CONTENT", $ page); $ tpl -> build (); # dê o comando para construir o modelo $ tpl -> ShowPage (); # output.)
Aqui estão todos os métodos que você precisa usar para exibir a página.

Agora, vamos dar uma olhada em alguns métodos úteis dessa classe. Digamos que já passamos tudo o que precisamos para a classe, mas ainda não demos um comando para a saída, porque de repente lembramos que precisamos criar várias tags Html no modelo. Isso também é muito fácil de fazer. Primeiro, precisamos encontrar o bloco ao qual queremos adicionar algo. Você pode encontrá-lo de 2 maneiras:

$ tpl -> findById ("findMe"); $ tpl -> findByTagName ("div");
O método findById logicamente assume que todos os ids de tag no modelo são únicos. E o método findByTagName retornará o primeiro que corresponder.
Devemos passar o resultado que obtivemos ao pesquisar o método $ tpl -> createChild () para poder criar tags filho no elemento encontrado. O método createChild, aliás, após criar um novo elemento, o retorna para nós, para que possamos usar o elemento recém-criado em outro lugar.

Pesquisando e experimentando, encontrei 3 maneiras de criar tags em um modelo, então vou mostrar a você 3 exemplos de uma vez. Exemplo 1:

Precisamos criar

dentro

$ parent = $ tpl -> findById ("parent"); $ tpl -> createChild ($ parent, "div", "id = child, class = test");
Nós temos:


Exemplo 2:

Precisamos criar

Algum texto
dentro

$ parent = $ tpl -> findById ("parent"); $ tpl -> createChild ($ parent, "div", "id = child, class = test", "Some text");
Nós temos:

Algum texto

Exemplo 3:
Precisamos criar

Novo elemento
no primeiro elemento span que se depara

$ parent = $ tpl -> findByTagName ("span"); # (1) $ tpl -> createChild ($ parent, "div", "New Element"); # (2)
(1) Pesquisar um pai não por id, mas por tag, encontrará o primeiro correspondente
(2) Se não precisarmos de atributos, mas apenas do valor do novo elemento, eles podem ser omitidos.

Nós temos:

Novo elemento

E depois dessas manipulações, já chamo ShowPage. E aqui chegamos suavemente a mais 2 pontos interessantes.
Imagine uma situação em que temos um modelo, suponha que seja um modelo list.tpl com uma lista de, digamos, telefones celulares:

(CONTEÚDO. Marca)

(CONTEÚDO.Modelo)

(CONTENT.Info)

Se transmitirmos as informações apenas por meio de 1 telefone, as variáveis ​​serão simplesmente substituídas por seus valores, e se transmitirmos as informações por vários telefones ao mesmo tempo, a classe irá copiar esta seção quantas vezes forem as variantes de valores isto. E ele mesmo fará isso, ao contrário, por exemplo, da classe xTemplate, que tinha atribuir e analisar para cada valor
É verdade que há um momento não muito conveniente, se após este bloco houver outros, por exemplo:

(CONTEÚDO. Marca)

(CONTEÚDO.Modelo)

(CONTENT.Info)
Outro bloco

Então, em tal situação, teremos que usar um pequeno truque para embalar nosso telefone celular

(CONTEÚDO. Marca)

(CONTEÚDO.Modelo)

(CONTENT.Info)
Outro bloco

Nesse caso, todos os telefones celulares aparecerão um após o outro, dentro
, e "Algum outro bloco" permanecerá abaixo.

E, se não esqueci nada, o último momento é adicionar o conteúdo de outros modelos ao modelo atual.
Apelo novamente à sua imaginação.

Imagine que o designer de layout deseja que o conteúdo do arquivo page.html seja adicionado ao bloco de arquivos list.html, para isso ele adiciona no lugar certo no arquivo list.html página e quando a classe vir essa tag, ela a substituirá pelo conteúdo do arquivo page.html

O número dessas inserções não é limitado e sua localização não é absolutamente crítica, portanto, você pode inseri-las como quiser e em qualquer quantidade.

Provavelmente é tudo, se eu me lembrar de algo, informarei adicionalmente. Obrigado por ler até o fim.

Tags: php, classe, template, template engine, parser

Após a criação informação-arquivo, em princípio, o tópico já foi definido. Isso significa que você pode ir para a seção de gerenciamento de temas http://mysite.ru/admin/build/themes e inclua seu tema lá. Naturalmente, após ligá-lo, você não verá nenhum desenho - a página adquirirá o estilo "preto sobre branco" - texto preto sobre fundo branco.

No entanto, quero observar que, apesar do fato de que em nosso tema não há arquivos, exceto mytheme.info não mentir, o site funcionará da mesma maneira que antes - exibir todo o conteúdo, adicionar blocos às regiões ( http://mysite.ru/admin/build/block) etc. Isso se deve ao fato de que o núcleo do Drupal inclui módulos requeridos, que, mesmo na ausência de quaisquer arquivos em seu tema (com exceção do arquivo info), permitem que você continue trabalhando com o Drupal.

Em princípio, toda a criação de modelo é reduzida a arquivos de modelo sobrepostos (eles têm a extensão .tpl.php) módulos padrão de nosso CMS.

O arquivo tpl mais importante (tpl é a abreviação de modelo, padrão) é page.tpl.php... Ele é o responsável pela construção de cada página do site. Vamos ver em que consiste o arquivo de modelo:

  • Código HTML
  • código php
  • código javascript(não é necessário)

O Drupal transfere dados do site para cada arquivo de modelo na forma de variáveis ​​padrão. Existem 2 tipos de variáveis ​​para cada arquivo de modelo:

  • variáveis ​​que são passadas apenas para este arquivo
  • variáveis ​​que são passadas para todos os arquivos

Aqui está uma lista de todas as variáveis ​​para page.tpl.php:

Variáveis ​​comuns (para todos os arquivos):

  • $ base_path- caminho de base onde o drupal foi instalado
  • $ css- uma série de arquivos css conectados ao arquivo de modelo atual
  • $ diretório- caminho para a pasta onde o tema está instalado
  • $ is_front- retorna TRUE se você estiver na página principal
  • $ logging_in- retorna TRUE se você estiver logado
  • $ is_admin- retorna TRUE se você tiver acesso ao painel de administração

Metadados da página

  • $ idioma- (um objeto) Idioma atual que é exibido no site
  • $ idioma-> idioma- contém sua representação textual
  • $ idioma-> dir- contém a direção do idioma. Será "ltr" (da esquerda para a direita) ou "rtl" (da direita para a esquerda)
  • $ head_title- versão modificada do título da página, para uso entre as tags
  • $ cabeça- inserido entre tags ... Contém meta tags, palavras-chave, etc.
  • $ styles- serve para baixar todos css-arquivos para a página atual
  • $ scripts- serve para baixar todos javascript "s para a página atual
  • $ body_classes- um conjunto de classes css para tag ... Ele contém informações sobre a localização atual das colunas no site, seu número, url "e" atual, etc.

Informações sobre o site

  • $ front_page- o endereço da página principal do site. Melhor usar esta variável para se referir a pagina inicial Desde a inclui o idioma e o prefixo do domínio
  • $ logo- caminho para o logotipo do site, se estiver incluído no site
  • $ site_name- nome do site. Ele pode ficar vazio se você desativá-lo nos recursos do arquivo de informações. Configurável em mysite.ru/admin/settings/site-information
  • $ site_slogan- o slogan do site. Ele pode ficar vazio se você desativá-lo nos recursos do arquivo de informações. Configurável em mysite.ru/admin/settings/site-information
  • $ missão- a missão do site. Ele pode ficar vazio se você desativá-lo nos recursos do arquivo de informações. Configurável em mysite.ru/admin/settings/site-information

Navegação

  • $ search_box- contém o código html que exibe a string de pesquisa. Pode estar vazio se você desligá-lo no arquivo de informações
  • $ primary_links
  • $ secondary_links- uma matriz contendo links de navegação para o site, se forem permitidos nos recursos do arquivo de informações

Conteúdo da página padrão

  • $ restantes- região. Contém o código html para a coluna esquerda. Se você especificar qualquer região no arquivo de informações, ele desaparecerá
  • $ breadcrumb - "Migalhas de pão" por pagina atual
  • $ title- título da página
  • $ help- dicas dinâmicas, principalmente mostradas no painel de administração
  • $ mensagens- exibe mensagens sobre erros e avisos no site
  • $ tabs- links (guias) conectando a página atual com suas subpáginas (por exemplo, para um artigo - com sua página de edição)
  • $ content- conteúdo da página atual
  • $ certo- região. Contém o código html para a coluna certa. Se você especificar qualquer região no arquivo de informações, ele desaparecerá

Área inferior / dados de cobertura

  • $ feed_icon- linha com todos os ícones comentários para a página atual
  • $ footer_message- mensagem na parte inferior da página. Configurável em mysite.ru/admin/settings/site-information
  • $ footer- região. Contém o código html da parte inferior da página. Se você especificar qualquer região no arquivo de informações, ele desaparecerá
  • $ fechamento- etiqueta de fechamento para todos os módulos que mudaram a página. Esta variável deve ser exibida após todo o conteúdo dinâmico. Melhor antes de fechar a tag BODY

Todos estão listados aqui variáveis ​​padrão... Mas você pode adicionar suas variáveis ​​aqui como regiões por meio de informação-file, ou em qualquer outra função via arquivo template.php(sobre ele um pouco mais tarde).

Agora vou mostrar qual código deve estar em page.tpl.php e em que código é então interpretado pelos navegadores. Aqui está um trecho de código de page.tpl.php:

A primeira linha verifica se a página atual tem um título. Se não estiver lá, o depurador simplesmente ignorará esse código e não o inserirá. Se o título existir, a tag será adicionada ao código html da página

, depois disso será impresso o título da página, e tudo isso será fechado com a tag

... Se você olhar o código desta página em um navegador, será assim:

Lição 4. Arquivos necessários para criar um modelo. Page.tpl.php

Quase todas as variáveis ​​do site são agrupadas dessa maneira. Isso é feito para que possamos estilizar o conteúdo sem saber com antecedência qual será.

Isto é o que parece arquivo padrão page.tpl.php que vem com o Drupal. Mude o nome das classes, reorganize as variáveis ​​- e veja o que acontece. Isso é necessário para "sentir" como funciona e o que é exibido como resultado.

"- // W3C // DTD XHTML 1.0 Strict // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/1999/xhtml" xml: lang = "idioma?> " lang = "idioma?> " dir = "dir?> "> <?php print $head_title ; ?> "" >


Separar a lógica de recebimento de dados da lógica de sua exibição é uma parte muito importante do desenvolvimento web.
Qualquer programador que tenha subido um pouco acima do nível "Olá, mundo" começa a sentir a necessidade de tal separação. Mas nem todo mundo chega às conclusões e decisões certas.
Portanto, aqui estão as regras mais importantes:
1. O código de recebimento e o código de exibição de dados devem ser separados.
2. Qualquer saída deve começar somente depois que todos os dados estiverem prontos para ela.
3. Como consequência, qualquer script deve lidar apenas com processamento de dados. Depois disso, ele pode enviar algum tipo de cabeçalho HTTP, ou chamar o modelo, passando os dados preparados, ou ambos juntos.
4. Qual mecanismo de template usar é a décima coisa. O mais simples e acessível é o próprio PHP, então exemplos serão dados nele.

Delírios
Provavelmente, não há nenhum tópico na programação da web que seja tão óbvio quanto incompreensível quanto os modelos. Todos, mais cedo ou mais tarde, chegam à conclusão de que é necessário usar templates. Mas isso vem, por algum motivo, por meio de alguns delírios e fantasias mais selvagens.

O equívoco mais simples e óbvio é que os iniciantes chamam um arquivo de "design", que é um html comum para todas as páginas de um site, como um modelo. E com isso eles se acalmam. Informação dinâmica, nada hesitante, exibindo o bom e velho eco :-)
Na verdade, o mecanismo de template se preocupa principalmente em exibir o conteúdo mutável das páginas do site. E a conclusão do "design" é uma tarefa secundária.

Existem duas fantasias principais:
1. O "designer" precisa de templates para poder editá-los sem ter que entender PHP.
2. Conseqüentemente, os modelos servem para separar o PHP do HTML.

Vamos tentar pensar sobre a primeira afirmação. O que é um designer? Essa é uma pessoa que trabalha no Photoshop. Na maioria das vezes, ele não conhece HTML de todo. E um designer de layout especial ou - na maioria das vezes ... o próprio programador - trabalha no modelo! Engraçado, não é?
Agora, o corolário, sobre a separação do PHP do HTML. Multar. Temos diante de nós o sagrado objetivo de separação. Portanto, criamos o Smarty e escrevemos:
(chave foreach = item cid = con de = $ contatos)
($ con.name) - ($ con.nick)

(/ para cada)

Ainda mais engraçado.
O "designer" para quem tudo começou desmaia de felicidade.

Teoria
Acontece que nossas razões pelas quais decidimos usar modelos não valem um centavo. E agora - eles não são necessários, ao que parece, modelos em geral? Precisava. Mas primeiro você precisa responder à pergunta - "por quê?" Para que precisa de modelos. E verifique a resposta com prática. Eu fiz essa pergunta às pessoas muitas vezes. Mas quase ninguém pode responder. Por que ele precisa de modelos. Acontece que as pessoas fazem algo sem saber por quê.
Isso é a coisa mais engraçada.

Durante minha gestão como programador da Web, formulei para mim mesmo três razões pelas quais eu pessoalmente preciso de modelos. Na verdade, existem dois deles. E no final das contas se resumem a uma coisa:

Um código - múltiplas visualizações.

Muitas vezes acontece que em vez de uma informação, você precisa mostrar outra. Por exemplo, o código para trabalhar com o banco de dados recebe uma mensagem de erro em vez do texto da notícia. Nesse caso, em vez de uma página de notícias, você precisa mostrar uma completamente diferente - com um pedido de desculpas e um pedido para voltar mais tarde. É muito fácil fazer isso com modelos.

Freqüentemente, as mesmas informações precisam ser mostradas de várias formas. Por exemplo, uma página normal e uma página impressa. As informações são as mesmas, o código de recuperação é o mesmo e o código de saída é diferente. Diante de tal situação, você pode rapidamente dividir seu código em duas partes, uma das quais é responsável pela saída e a segunda não é responsável. Outro exemplo: digamos que desejamos produzir informações não diretamente em HTML, mas por meio de uma solicitação AJAX, no formato JSON. Se usarmos um template engine, então mudaremos exatamente uma linha em nosso código - chamando o template engine para chamar json_encode (). E se nossa saída foi misturada com o código para receber dados, então todo o código teria que ser reescrito!

A situação é um tanto semelhante: digamos que nosso script esteja em dois sites. Mais uma cópia em nossa casa. E então encontramos um grande bug em casa. Feche isso. Agora precisamos atualizar o código nos sites. E aqui está - o momento da verdade: se os templates foram usados ​​corretamente, então simplesmente carregamos o código para os dois sites, e tudo continua funcionando, como se nada tivesse acontecido! Essa situação, em minha opinião, é um teste ideal da abordagem escolhida para modelagem.

Outro ponto importante que muitas pessoas perdem (em seu raciocínio teórico, enquanto constantemente o encontram na prática!) - a ordem de execução do script nem sempre corresponde à ordem de saída no modelo... Exemplo de livro didático - exibindo o título de um artigo em uma tag ... Se exibirmos as informações assim que estiverem disponíveis, simplesmente não poderemos fazer isso - cabeçalho do site <i>já</i> exibida, no momento em que começamos a receber o texto da notícia.</p><p>Também deve ser lembrado que, além do texto PHP, os scripts também exibem cabeçalhos HTTP. Que deve ser mostrado antes de qualquer texto, ou mesmo no lugar do texto em geral (se, por exemplo, quisermos redirecionar o usuário para outra página). Se primeiro implementarmos a lógica do aplicativo, sem exibir nada ao mesmo tempo, a emissão do cabeçalho HTTP necessário não representará nenhum problema para nós.</p><p>Você pode ter seus próprios motivos para usar modelos. Mas com apenas uma condição - essas razões devem ser causadas por uma necessidade real e vital, e não por "considerações superiores" e preocupação com algumas pessoas desconhecidas.</p><p><b><a name="example">Prática</a> </b><br>Agora, vamos passar da teoria à prática. <br>No caso mais simples, na exibição de qualquer página, sempre teremos dois modelos: um modelo geral de site e um modelo de conteúdo para uma página específica. <br>Digamos que queremos fazer uma página com links para sites de amigos. <br>Nesse caso, o código simplificado ficará assim:</p><p>O próprio arquivo links.php. Não produz NADA. Ele apenas prepara os dados e, em seguida, chama o modelo. <br><span><?<br><span>// habilita as configurações. <br></span> incluir "settings.php";</p><p>// obter dados do banco de dados, definir variáveis <br></span>$ pagetitle = "(! LANG: Links" ;!} <br>$ DATA = $ db -> getAll ("SELECT * FROM links");</p><p>// definir o modelo de página e chamar o modelo geral de site <br></span>$ tpl = "tpl_links.php"; <br>inclua "tpl_main.php"; <br> </p><p>Modelo geral (tpl_main.php):</p><p><html xmlns="http://www.w3.org/1999/xhtml"><br> <head><br> <title>Meu site.<?=$pagetitle?>






No lugar certo, o modelo da nossa página (tpl_links.php) está incluído nela:





  • "target =" _blank ">


    • A maneira mais fácil é criar modelos baseados em páginas estáticas já dispostas em HTML. Vamos considerar a criação e conexão de um modelo usando um exemplo. Digamos que você já tenha um arquivo HTML com o seguinte conteúdo:

      <html> <cabeça> <meta nome = "Descrição"content = /> <meta nome = "palavras-chave"content = /> <título>título> <link href = "style.css" rel = "folha de estilo" tipo = "text / css" /> cabeça> <corpo>// menu Iniciar<borda da mesa = "1" > <tr> <td><a href = "/" > <b> casab>a>td> tr> <tr> <td><a href = "/ cerca de /"> Sobre mima>td> tr> <tr> <td><a href = "/ eu e eu /"> Eu e a dominação mundiala>td> tr> <tr> <td><a href = "/ Contatos /"> Contatosa>td> tr> mesa>// fim do menu<h1> Pagina inicialh1> <p> p> <p> Texto sobre mim: Texto sobre mim: Texto sobre mim: Texto sobre mim:p> <p> Texto sobre mim: Texto sobre mim: Texto sobre mim: Texto sobre mim:p> <p> Texto sobre mim: Texto sobre mim: Texto sobre mim: Texto sobre mim:p> corpo> html>

      Para adicionar um modelo ao CMS, você precisa criar um arquivo no diretório tpls / content, por exemplo, test.tpl, e inserir seu código HTML lá. O arquivo CSS deve ser colocado na pasta css / cms e nomeado style.css. É desejável colocar as imagens na pasta de imagens. Não se esqueça de alterar os caminhos de todas as imagens e arquivos CSS.

      Comente

      Letras russas não podem ser usadas no nome do arquivo de modelo!

      Para que o sistema "veja" o novo modelo e comece a usá-lo para exibir páginas, o modelo deve ser adicionado ao sistema. Para fazer isso, vá até as configurações do módulo "Estrutura", na guia "Modelos" ( http://yourdomain.ru/admin/content/config/ ) Você verá uma lista de modelos já instalados em cada domínio existente na versão do idioma selecionado.

      Para conectar um novo arquivo de modelo, preencha a última linha livre dos campos “ Nome do modelo"(Dê a ele algum nome significativo, por exemplo" Meu padrão de teste") E" Nome do arquivo "(no nosso caso, test.tpl) e clique no botão" Salvar ".

      Se você deseja que este modelo seja usado como o modelo padrão, marque a caixa de seleção "Principal" ao lado dele. Este modelo agora será selecionado por padrão na lista suspensa de seleção de modelos. Ele também será usado para exibir páginas do sistema que usam o modelo padrão (registro, recuperação de senha, mapa do site).

      Os modelos ficarão visíveis na lista suspensa ao editar cada página:

      Assim, em um site, você pode usar vários modelos ao mesmo tempo, escolhendo o modelo apropriado para uma única página e um grupo de páginas.

      Tente criar uma nova página (certifique-se de selecionar um novo template na opção Design Template) e veja o que acontece no site.

      Seu modelo HTML deve aparecer no site. Mas agora está estático. Agora você precisa torná-lo dinâmico.

      Primeiro, você precisa determinar quais partes do código HTML serão alteradas. Em nosso caso, o seguinte mudará:

        título da janela ;</p> <p>meta tags palavras-chave e descrição;</p> <p>título do texto <h1>;</p> <p>o texto real;</p> <p>menu do site.</p> </ul><p>Isso significa que temos que trabalhar um pouco com o template HTML e colocar as macros correspondentes ao invés das seções de mudança.</p> <p>Por exemplo, no início do arquivo HTML, existem metatags e um título:</p> <<span>meta nome = <span>"Descrição"</span><span>content = <span>"descrição do site de Vasily Pupkin"</span> /> </span> <<span>meta nome = <span>"palavras-chave"</span><span>content = <span>"Site oficial do Vasya Vasily Pupkin"</span> /> </span> <<span>título></span> Site de Vasya Pupkin: página principal</<span>título></span> <p>Nós as substituímos pelas macros correspondentes (a lista de macros é fornecida no apêndice):</p> <<span>meta nome = <span>"Descrição"</span><span>content = "% descrição%"</span> /> </span> <<span>meta nome = <span>"palavras-chave"</span> content = <span>"% palavras-chave%"</span> /> </span> <<span>título></span>% título%</<span>título></span> <p>Agora, ao gerar as páginas, o sistema pegará as metatags e o título, prescritos para cada página individualmente, e os substituirá em vez das macros correspondentes. É muito fácil lembrar os nomes das macros.</p> <p>Façamos o mesmo com o título do texto. Era assim:</p> <<span>h1></span> Pagina inicial</<span>h1></span> <p>E assim será. O cabeçalho do texto é exibido pela macro% header%:</p> <<span>h1></span>% header%</<span>h1></span> <p>O texto principal da página também muda:</p> <<span>p></span> Texto sobre mim: Texto sobre mim: Texto sobre mim: Texto sobre mim:</<span>p></span> <<span>p></span> Texto sobre mim: Texto sobre mim: Texto sobre mim: Texto sobre mim:</<span>p></span> <<span>p></span> Texto sobre mim: Texto sobre mim: Texto sobre mim: Texto sobre mim:</<span>p></span> <<span>p></span> Texto sobre mim: Texto sobre mim: Texto sobre mim: Texto sobre mim:</<span>p></span> <p>Existe uma macro para mostrar o texto principal da página <i>% contente%</i> :</p> <i>% contente%</i> <p>Para o início do arquivo entre as tags <head>e</head> insira a macro:</p><p>Esta linha permite a edição rápida e outros recursos úteis. Com ele você pode pressionando <b>Mudança</b> +<b>D</b>, vá rapidamente para editar a página atual do site ou qualquer um de seus fragmentos.</p> <p>Como resultado, você deve obter o seguinte:</p> <<span>html></span> <<span>cabeça></span> <<span>meta nome = <span>"Descrição"</span><span>content = "% descrição%"</span> /> </span> <<span>meta nome = <span>"palavras-chave"</span> content = <span>"% palavras-chave%"</span> /> </span> <<span>título></span>% título%</<span>título></span> <<span>link href = <span>"style.css"</span> rel = <span>"folha de estilo"</span> tipo = <span>"text / css"</span> /> </span>% system includeQuickEditJs ()%</<span>cabeça></span> <<span>corpo></span>// menu Iniciar<<span>borda da mesa = <span>"1" </span>> </span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/" </span>> </span><<span>b></span> casa</<span>b></span></<span>a></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ cerca de /"</span>> </span> Sobre companhia</<span>a></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ projetos /"</span>> </span> Projetos</<span>a></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ Contatos /"</span>> </span> Contatos</<span>a></span></<span>td></span> </<span>tr></span> </<span>mesa></span>// fim do menu<<span>h1></span>% header%</<span>h1></span>% contente%</<span>corpo></span> </<span>html></span> <p>Então, salvamos o arquivo de modelo e olhamos o resultado. A página agora é quase completamente dinâmica, com exceção do menu. É necessário "reviver" o cardápio do site. Vamos ver como o menu é organizado:</p>// menu Iniciar<<span>borda da mesa = <span>"1" </span>> </span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/" </span>> </span><<span>b></span> casa</<span>b></span></<span>a></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ cerca de /"</span>> </span> Sobre mim</<span>a></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ eu e eu /"</span>> </span> Eu e a dominação mundial</<span>a></span></<span>td></span> </<span>tr></span> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ Contatos /"</span>> </span> Contatos</<span>a></span></<span>td></span> </<span>tr></span> </<span>mesa></span>// fim do menu <p>O menu consiste em itens. O menu em si é decorado de alguma forma, e os itens também têm um design. Por exemplo, todo o menu pode ter algum tipo de moldura ou fundo, o item de menu atual pode ser destacado em negrito, etc. Além disso, pode haver níveis diferentes no mesmo menu.</p> <p>Selecione o quadro do menu:</p>// menu Iniciar<<span>borda da mesa = <span>"1" </span>> </span> <span><!-здесь пойдут пункты меню --> </span> </<span>mesa></span>// fim do menu <p>O item de menu é projetado assim:</p> <<span>tr></span> <<span>td></span><<span>a href = <span>"/ Contatos /"</span>> </span> Contatos</<span>a></span></<span>td></span> </<span>tr></span> <p>O item de menu atual tem um estilo diferente:</p> <<span>tr></span> <<span>td></span><<span>a href = <span>"/" </span>> </span><<span>b></span> casa</<span>b></span></<span>a></span></<span>td></span> </<span>tr></span> <p>O modelo de menu original está localizado no arquivo /tpls/content/menu/default.tpl e tem a seguinte aparência:</p> <?php $FORMS = Array (); $FORMS ["menu_block_level1" ] = <<<END %lines% END; $FORMS ["menu_line_level1" ] = <<<END <div class ="menu" >% texto%</div> <<<END <div class ="menu_a" > <span class ="menu_a" >% texto%</span> </div> FIM; ?> <p>No início, é um pouco incompreensível. Na verdade, tudo é muito simples. Vamos dar uma olhada na primeira parte do código:</p>$ FORMS ["menu_block_level1"] =<<<END %lines% END; <p>Este é o bloco chamado <b>menu_block_level1</b>... Existem apenas 3 tipos de tais blocos.</p> <ul><p><b>menu_block_level1</b>- contém HTML-frame do menu;</p> <p><b>menu_line_level1</b>- contém o código HTML do item de menu;</p> <p><b>menu_line_level1_a</b>- o mesmo que menu_line_level1, usado apenas para o item de menu ativo.</p> </ul><p>Qualquer coisa entre<<<END и END; воспринимается, как html-шаблон (для всего меню или для отдельного пункта).</p> <p>Ao gerar um menu, o sistema pega os modelos de item (por exemplo, menu_line_level1) e os coloca um após o outro. Este é o código HTML que contém todos os itens de menu. Este código é inserido em vez da macro <i>% lines%</i> .</p> <p>Então, você precisa colocar o código que destacamos acima (enquadramento, itens de menu) nos blocos apropriados. Deve ser parecido com isto:</p> <?php $FORMS = Array (); $FORMS ["menu_block_level1" ] = <<<END <table border="1" >% lines%</table> FIM; $ FORMS ["menu_line_level1"] =<<<END <tr> <td>% texto%</td> </tr> FIM; $ FORMS ["menu_line_level1_a"] =<<<END <tr> <td><b>% texto%</b></td> </tr> FIM; ?> <p>Já sabemos que ao invés de <i>% lines%</i> o sistema substitui os itens de menu por seus quadros HTML. Conhecemos novas macros. Em vez de <i>% link%</i> o URL do item de menu é inserido, e em vez de <i>% texto%</i>- texto (definido no campo " <span>título da página</span>»).</p> <p>Agora o menu pode ser inserido no modelo de página com uma macro <i>% cardápio%</i> ::</p> <<span>html></span> <<span>cabeça></span> <<span>meta nome = <span>"Descrição"</span><span>content = "% descrição%"</span> /> </span> <<span>meta nome = <span>"palavras-chave"</span> content = <span>"% palavras-chave%"</span> /> </span> <<span>título></span>% título%</<span>título></span> <<span>link href = <span>"style.css"</span> rel = <span>"folha de estilo"</span> tipo = <span>"text / css"</span> /> </span>% system includeQuickEditJs ()%</<span>cabeça></span> <<span>corpo></span>// início do menu% menu% // fim do menu<<span>h1></span>% header%</<span>h1></span>% contente%</<span>corpo></span> </<span>html></span> <p><b>O modelo está pronto.</b> </p> <p>Se você deseja exibir um menu usando um modelo diferente em algumas páginas do site, você precisa criar outro arquivo com o modelo de menu na mesma pasta. Por exemplo, menu2.tpl. Da mesma forma, ao conectar um menu a um modelo de página, em vez de% menu%, você precisa escrever um pouco diferente:% menu de conteúdo ("menu2")%.</p> <p>A operação desta e de outras macros é descrita em detalhes na documentação atual. Trabalhar com eles é baseado exatamente no mesmo princípio: você divide a parte necessária do template HTML em partes separadas, insere os templates necessários nos blocos correspondentes, insere a macro apropriada no lugar desta parte e começa a funcionar.</p> <p><b>É importante considerar:</b> </span> não coloque várias macros em uma linha. Macros aninhadas podem não funcionar como argumento para outras macros.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> <div style="font-size:0px;height:0px;line-height:0px;margin:0;padding:0;clear:both"></div> </div> <footer> <div class="td-block-row td-post-next-prev"> <div class="td-block-span6 td-post-prev-post"> <div class="td-post-next-prev-content"><span>Artigo anterior</span><a href="https://obanracer.ru/pt/kak-uznat-skolki-yadernyi-processor-stoit-v-kompyutere-skolko-yader-v.html">Quantos núcleos há em um computador ou laptop (2 maneiras de ver) Como descobrir o número de processadores</a></div> </div> <!-- /next_post --> <div class="td-next-prev-separator"></div> <div class="td-block-span6 td-post-next-post"> <div class="td-post-next-prev-content"><span>Artigo seguinte</span><a href="https://obanracer.ru/pt/kak-pochistit-kesh-v-mozile-mozilla-firefox-kak-ochistit-kesh-v-mozile.html">Como limpar o cache em um muff rápida e permanentemente Como limpar um cache em um muff</a></div> <!-- /next_post --> </div> </div> <div class="td-author-name vcard author" style="display: none"><span class="fn"><a href="https://obanracer.ru/pt/author/iulia">Julia</a></span></div> <span style="display: none;" itemprop="author" itemscope itemtype="https://schema.org/Person"><meta itemprop="name" content="Юлия"></span> <meta itemprop="datePublished" content="2016-05-16T15:47:37+00:00"> <meta itemprop="dateModified" content="2016-10-25T16:54:41+00:00"> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="/other/kak-zavyazat-galstuk-foto-poshagovo.html" /><span style="display: none;" itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><span style="display: none;" itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="//obanracer.ru/wp-content/uploads/2017/01/logo-300x100.png"></span> <meta itemprop="name" content="Мой секрет"> </span> <meta itemprop="headline " content="Как завязать галстук пошагово фото"><span style="display: none;" itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="/wp-content/uploads/2016/05/1-19.jpg"><meta itemprop="width" content="640"><meta itemprop="height" content="450"></span> </footer> </article> <div class="td_block_wrap td_block_related_posts td_uid_3_5a236fb03c961_rand td_with_ajax_pagination td-pb-border-top td_block_template_1" data-td-block-uid="td_uid_3_5a236fb03c961" ><script>var block_td_uid_3_5a236fb03c961 = new tdBlock(); block_td_uid_3_5a236fb03c961.id = "td_uid_3_5a236fb03c961"; block_td_uid_3_5a236fb03c961.atts = '{ "limit":9,"sort":"","post_ids":"","tag_slug":"","autors_id":"","installed_post_types":"","category_id":"","category_ids":"","custom_title":"","custom_url":"","show_child_cat":"","sub_cat_ajax":"","ajax_pagination":"next_prev","header_color":"","header_text_color":"","ajax_pagination_infinite_stop":"","td_column_number":3,"td_ajax_preloading":"","td_ajax_filter_type":"td_custom_related","td_ajax_filter_ids":"","td_filter_default_txt":"\u0412\u0441\u0435","color_preset":"","border_top":"","class":"td_uid_3_5a236fb03c961_rand","el_class":"","offset":"","css":"","tdc_css":"","tdc_css_class":"td_uid_3_5a236fb03c961_rand","live_filter":"cur_post_same_categories","live_filter_cur_post_id":10046,"live_filter_cur_post_author":"694350","block_template_id":""} '; block_td_uid_3_5a236fb03c961.td_column_number = "3"; block_td_uid_3_5a236fb03c961.block_type = "td_block_related_posts"; block_td_uid_3_5a236fb03c961.post_count = "9"; block_td_uid_3_5a236fb03c961.found_posts = "26"; block_td_uid_3_5a236fb03c961.header_color = ""; block_td_uid_3_5a236fb03c961.ajax_pagination_infinite_stop = ""; block_td_uid_3_5a236fb03c961.max_num_pages = "3"; tdBlocksArray.push(block_td_uid_3_5a236fb03c961); </script><h4 class="td-related-title td-block-title"><a id="td_uid_4_5a236fb03e35d" class="td-related-left td-cur-simple-item" data-td_filter_value="" data-td_block_id="td_uid_3_5a236fb03c961" href="#">ARTIGOS SEMELHANTES</a></h4><div id=td_uid_3_5a236fb03c961 class="td_block_inner"> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/chto-takoe-router-dlya-doma-chto-takoe-wifi-router-i-dlya-chego-on-nuzhen.html" rel="bookmark" title="O que é um roteador WiFi e para que serve em casa?"><img width="218" height="150" class="entry-thumb" src="/uploads/74f777eb4ff80e64cc24d67a19f33ed0.jpg" alt="O que é um roteador WiFi e para que serve em casa?" title="O que é um roteador WiFi e para que serve em casa?"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/the-winchesters/" class="td-post-category">Winchesters</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/chto-takoe-router-dlya-doma-chto-takoe-wifi-router-i-dlya-chego-on-nuzhen.html" rel="bookmark" title="O que é um roteador WiFi e para que serve em casa?">O que é um roteador WiFi e para que serve em casa?</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/chto-daet-termopasta-chto-takoe-termopasta-i-kak-ee-nanosit.html" rel="bookmark" title="O que é pasta térmica e como a aplico?"><img width="218" height="150" class="entry-thumb" src="/uploads/6e04311869bbc44c99ee40e6a95e703f.jpg" alt="O que é pasta térmica e como a aplico?" title="O que é pasta térmica e como a aplico?"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/case/" class="td-post-category">Carcaças</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/chto-daet-termopasta-chto-takoe-termopasta-i-kak-ee-nanosit.html" rel="bookmark" title="O que é pasta térmica e como a aplico?">O que é pasta térmica e como a aplico?</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/kak-vyzvat-ekstrennye-sluzhby-kak-vyzvat-pozharnyh-i.html" rel="bookmark" title="Como chamar bombeiros e equipes de resgate de mts"><img width="218" height="150" class="entry-thumb" src="/uploads/e19a426743607efe3aa4411319cf409a.jpg" alt="Como chamar bombeiros e equipes de resgate de mts" title="Como chamar bombeiros e equipes de resgate de mts"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/the-winchesters/" class="td-post-category">Winchesters</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/kak-vyzvat-ekstrennye-sluzhby-kak-vyzvat-pozharnyh-i.html" rel="bookmark" title="Como chamar bombeiros e equipes de resgate de mts">Como chamar bombeiros e equipes de resgate de mts</a></h3> </div> </div> </div> </div> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/kak-zavershit-seansy-v-vk-kak-vyiti-iz-kontakta-na-android-ne-zahodya-v.html" rel="bookmark" title="Como sair do contato no Android"><img width="218" height="150" class="entry-thumb" src="/uploads/84b3f9c18e1e37bd1f9f2a73c3e3b6cb.jpg" alt="Como sair do contato no Android" title="Como sair do contato no Android"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/motherboard/" class="td-post-category">placas-mãe</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/kak-zavershit-seansy-v-vk-kak-vyiti-iz-kontakta-na-android-ne-zahodya-v.html" rel="bookmark" title="Como sair do contato no Android">Como sair do contato no Android</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/obnovlyaem-brauzer-internet-explorer-do-aktualnoi-versii-internet-explorer-zachem-obnovlyat.html" rel="bookmark" title="Internet Explorer: por que e como atualizar seu navegador Como atualizar o ie 8 para a versão mais recente"><img width="218" height="150" class="entry-thumb" src="/uploads/d5d5e3d69d67110ecd097b604c9ef61b.jpg" alt="Internet Explorer: por que e como atualizar seu navegador Como atualizar o ie 8 para a versão mais recente" title="Internet Explorer: por que e como atualizar seu navegador Como atualizar o ie 8 para a versão mais recente"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/windows-7/" class="td-post-category">Windows 7</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/obnovlyaem-brauzer-internet-explorer-do-aktualnoi-versii-internet-explorer-zachem-obnovlyat.html" rel="bookmark" title="Internet Explorer: por que e como atualizar seu navegador Como atualizar o ie 8 para a versão mais recente">Internet Explorer: por que e como atualizar seu navegador Como atualizar o ie 8 para a versão mais recente</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/esli-na-zhestkom-diske-malo-mesta-chistim-disk-c-ot-nenuzhnyh-failov-i.html" rel="bookmark" title="Limpe a unidade C de arquivos desnecessários e libere espaço"><img width="218" height="150" class="entry-thumb" src="/uploads/9e242de6c9e0fe10768b17660f171b20.jpg" alt="Limpe a unidade C de arquivos desnecessários e libere espaço" title="Limpe a unidade C de arquivos desnecessários e libere espaço"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/the-winchesters/" class="td-post-category">Winchesters</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/esli-na-zhestkom-diske-malo-mesta-chistim-disk-c-ot-nenuzhnyh-failov-i.html" rel="bookmark" title="Limpe a unidade C de arquivos desnecessários e libere espaço">Limpe a unidade C de arquivos desnecessários e libere espaço</a></h3> </div> </div> </div> </div> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/brauzer-chto-eto-takoe-prostymi-slovami-i-kakoi-iz-nih-samyi.html" rel="bookmark" title="Vamos ver o que é um navegador O que significa entrar em um navegador"><img width="218" height="150" class="entry-thumb" src="/uploads/9e167ce490c28397856c71568eb3bad8.jpg" alt="Vamos ver o que é um navegador O que significa entrar em um navegador" title="Vamos ver o que é um navegador O que significa entrar em um navegador"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/graphics-card/" class="td-post-category">Placas de vídeo</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/brauzer-chto-eto-takoe-prostymi-slovami-i-kakoi-iz-nih-samyi.html" rel="bookmark" title="Vamos ver o que é um navegador O que significa entrar em um navegador">Vamos ver o que é um navegador O que significa entrar em um navegador</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/net-pamyati-na-diske-s-chto-delat-esli-net-mesta-na-diske-s-v-windows-nahodim-i.html" rel="bookmark" title="O que fazer se não houver espaço na unidade C do Windows?"><img width="218" height="150" class="entry-thumb" src="/uploads/b63e09e695f91c56f1018c83ca98f8ae.jpg" alt="O que fazer se não houver espaço na unidade C do Windows?" title="O que fazer se não houver espaço na unidade C do Windows?"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/graphics-card/" class="td-post-category">Placas de vídeo</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/net-pamyati-na-diske-s-chto-delat-esli-net-mesta-na-diske-s-v-windows-nahodim-i.html" rel="bookmark" title="O que fazer se não houver espaço na unidade C do Windows?">O que fazer se não houver espaço na unidade C do Windows?</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/pochemu-telefon-ne-zaryazhaetsya-ot-zaryadnogo-ustroistva-pochemu.html" rel="bookmark" title="Por que o telefone não carrega via USB do computador?"><img width="218" height="150" class="entry-thumb" src="/uploads/d6b35cd2b9067aa8cf47eacfa98a1bb5.jpg" alt="Por que o telefone não carrega via USB do computador?" title="Por que o telefone não carrega via USB do computador?"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/security/" class="td-post-category">Segurança</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/pochemu-telefon-ne-zaryazhaetsya-ot-zaryadnogo-ustroistva-pochemu.html" rel="bookmark" title="Por que o telefone não carrega via USB do computador?">Por que o telefone não carrega via USB do computador?</a></h3> </div> </div> </div> </div></div></div> </div> </div> <div class="td-pb-span4 td-main-sidebar"> <div class="td-ss-main-sidebar"> <aside class="widget �lambda_169101"> <div style="margin:10px 0"> </div> </aside> <div class="td_block_wrap td_block_1 td_block_widget td_uid_2_5a23c04f0cdc0_rand td-pb-border-top td_block_template_1 td-column-1" data-td-block-uid="td_uid_2_5a23c04f0cdc0"> <div class="td-block-title-wrap"> <h4 class="block-title"><span class="td-pulldown-size">Recomendado</span></h4> </div> <div id=td_uid_2_5a23c04f0cdc0 class="td_block_inner"> <div class="td-block-span12"> <div class="td_module_4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/pochemu-ne-rabotaet-yutub-izbavlyaemsya-ot-oshibok-videohostinga.html" rel="bookmark" title="Livrar-se de erros de hospedagem de vídeo"><img width="324" height="235" class="entry-thumb" src="/uploads/60264defac09821b14501286b97f0cc1.jpg" alt="Livrar-se de erros de hospedagem de vídeo" title="Livrar-se de erros de hospedagem de vídeo"/ loading=lazy loading=lazy></a></div> <a href="https://obanracer.ru/pt/category/case/" class="td-post-category">Carcaças</a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/pochemu-ne-rabotaet-yutub-izbavlyaemsya-ot-oshibok-videohostinga.html" rel="bookmark" title="Livrar-se de erros de hospedagem de vídeo">Livrar-se de erros de hospedagem de vídeo</a></h3> <div class="td-module-meta-info"> </div> <div class="td-excerpt">O YouTube é a hospedagem de vídeo mais popular e conhecida. Aqui você pode facilmente postar seus vídeos ou assistir a outros. Há quase 15 anos de trabalho, aí ...</div> </div> <!-- /next_post --> </div> <div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/kak-otklyuchit-privyazku-telefona-v-kontakte-kak-vkontakte-otvyazat.html" rel="bookmark" title="Como o VKontakte pode desvincular uma página de um número de telefone?"><img width="100" height="70" class="entry-thumb" src="/uploads/5543b0924e5fd0de5cd768275fc812bb.jpg" alt="Como o VKontakte pode desvincular uma página de um número de telefone?" title="Como o VKontakte pode desvincular uma página de um número de telefone?"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/kak-otklyuchit-privyazku-telefona-v-kontakte-kak-vkontakte-otvyazat.html" rel="bookmark" title="Como o VKontakte pode desvincular uma página de um número de telefone?">Como o VKontakte pode desvincular uma página de um número de telefone?</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/pt/category/windows-7/" class="td-post-category">Windows 7</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/kak-otvyazat-telefon-ot-staroi-stranicy-vk-kak-otvyazat-nomer-ot.html" rel="bookmark" title="Como desamarrar um número de uma página VKontakte?"><img width="100" height="70" class="entry-thumb" src="/uploads/4aeb95a0f95d878083cb4b7700e423db.jpg" alt="Como desamarrar um número de uma página VKontakte?" title="Como desamarrar um número de uma página VKontakte?"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/kak-otvyazat-telefon-ot-staroi-stranicy-vk-kak-otvyazat-nomer-ot.html" rel="bookmark" title="Como desamarrar um número de uma página VKontakte?">Como desamarrar um número de uma página VKontakte?</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/pt/category/the-winchesters/" class="td-post-category">Winchesters</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/plazma-ili-zhk-a-vy-znaete-kakoi-televizor-luchshe-zhk-ili-plazma-chem-luchshe.html" rel="bookmark" title="Você sabe qual TV é melhor: LCD ou Plasma?"><img width="100" height="70" class="entry-thumb" src="/uploads/6a8b0acc3693a886be0ebf74ca09551d.jpg" alt="Você sabe qual TV é melhor: LCD ou Plasma?" title="Você sabe qual TV é melhor: LCD ou Plasma?"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/plazma-ili-zhk-a-vy-znaete-kakoi-televizor-luchshe-zhk-ili-plazma-chem-luchshe.html" rel="bookmark" title="Você sabe qual TV é melhor: LCD ou Plasma?">Você sabe qual TV é melhor: LCD ou Plasma?</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/pt/category/power-supply/" class="td-post-category">Suprimentos de energia</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/otlichie-plazmy-ot-zhk-televizora-plazma-ili-zhk-zhk-tv-i.html" rel="bookmark" title="Plasma ou lcd lcd tv e plasma"><img width="100" height="70" class="entry-thumb" src="/uploads/01bbb3f2700152c53039296657ece2a9.jpg" alt="Plasma ou lcd lcd tv e plasma" title="Plasma ou lcd lcd tv e plasma"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/otlichie-plazmy-ot-zhk-televizora-plazma-ili-zhk-zhk-tv-i.html" rel="bookmark" title="Plasma ou lcd lcd tv e plasma">Plasma ou lcd lcd tv e plasma</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/pt/category/internet/" class="td-post-category">Internet</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/pochtovye-golubi-shpiony-soldaty-i-fotoreport-ry-golubinaya-pochta-kak.html" rel="bookmark" title="Correio do pombo: como os pássaros foram transformados em carteiros e enviados para servir na linha de frente "serviço de pombo militar na URSS""><img width="100" height="70" class="entry-thumb" src="/uploads/66a47728a3b5eca2ddcf8819063a84d9.jpg" alt="Correio do pombo: como os pássaros foram transformados em carteiros e enviados para servir na linha de frente "serviço de pombo militar na URSS"" title="Correio do pombo: como os pássaros foram transformados em carteiros e enviados para servir na linha de frente "serviço de pombo militar na URSS""/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/pochtovye-golubi-shpiony-soldaty-i-fotoreport-ry-golubinaya-pochta-kak.html" rel="bookmark" title="Correio do pombo: como os pássaros foram transformados em carteiros e enviados para servir na linha de frente "serviço de pombo militar na URSS"">Correio do pombo: como os pássaros foram transformados em carteiros e enviados para servir na linha de frente "serviço de pombo militar na URSS"</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/pt/category/security/" class="td-post-category">Segurança</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/golubinaya-pochta-kak-rabotaet-principy-raboty-golubinoi-pochty-na-chem.html" rel="bookmark" title="Como funciona o correio de pombo Em que se baseia o instinto de regresso a casa?"><img width="100" height="70" class="entry-thumb" src="/uploads/66a47728a3b5eca2ddcf8819063a84d9.jpg" alt="Como funciona o correio de pombo Em que se baseia o instinto de regresso a casa?" title="Como funciona o correio de pombo Em que se baseia o instinto de regresso a casa?"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/golubinaya-pochta-kak-rabotaet-principy-raboty-golubinoi-pochty-na-chem.html" rel="bookmark" title="Como funciona o correio de pombo Em que se baseia o instinto de regresso a casa?">Como funciona o correio de pombo Em que se baseia o instinto de regresso a casa?</a></h3> <div class="td-module-meta-info"> <a href="https://obanracer.ru/pt/category/monitors/" class="td-post-category">Monitores</a> </div> </div> </div> </div> </div> </div> </div> <aside class="widget_text td_block_template_1 widget widget_custom_html"> <div class="textwidget custom-html-widget"> </div> </aside> </div> </div> </div> </div> </div> <div class="td-footer-wrapper td-container-wrap "> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span12"> </div> </div> <div class="td-pb-row"> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_11_5a23980e76adb_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_11_5a23980e76adb" > <div class="td-block-title-wrap"></div><div id=td_uid_11_5a23980e76adb class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/kogda-den-rozhdeniya-u-richarda-hammonda-richard-hammond-filmy-foto-i-lichnaya.html" rel="bookmark" title="Richard Hammond: filmes, fotos e a vida pessoal do ator"><img width="218" height="150" class="entry-thumb" src="/uploads/b7c3cf8dbb97378c043b663cacbefb7e.jpg" alt="Richard Hammond: filmes, fotos e a vida pessoal do ator" title="Richard Hammond: filmes, fotos e a vida pessoal do ator"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/kogda-den-rozhdeniya-u-richarda-hammonda-richard-hammond-filmy-foto-i-lichnaya.html" rel="bookmark" title="Richard Hammond: filmes, fotos e a vida pessoal do ator">Richard Hammond: filmes, fotos e a vida pessoal do ator</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/akusticheskaya-sistema-dzhi-bi-el-sabvufery-jbl-izmereniya-parametrov-kolonki.html" rel="bookmark" title="Sistema acústico gbi el"><img width="218" height="150" class="entry-thumb" src="/uploads/b2f538c6c7bd8868ef4d9651ce224a97.jpg" alt="Sistema acústico gbi el" title="Sistema acústico gbi el"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/akusticheskaya-sistema-dzhi-bi-el-sabvufery-jbl-izmereniya-parametrov-kolonki.html" rel="bookmark" title="Sistema acústico gbi el">Sistema acústico gbi el</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/akustika-dzhi-bi-el-sabvufery-jbl-istoriya-razvitiya-sabvuferov.html" rel="bookmark" title="Acoustics gi bi el. Subwoofers JBL. História de desenvolvimento de subwoofers JBL"><img width="218" height="150" class="entry-thumb" src="/uploads/b2f538c6c7bd8868ef4d9651ce224a97.jpg" alt="Acoustics gi bi el. Subwoofers JBL. História de desenvolvimento de subwoofers JBL" title="Acoustics gi bi el. Subwoofers JBL. História de desenvolvimento de subwoofers JBL"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/akustika-dzhi-bi-el-sabvufery-jbl-istoriya-razvitiya-sabvuferov.html" rel="bookmark" title="Acoustics gi bi el. Subwoofers JBL. História de desenvolvimento de subwoofers JBL">Acoustics gi bi el. Subwoofers JBL. História de desenvolvimento de subwoofers JBL</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/obzor-i-testirovanie-plansheta-acer-iconia-w700-gibridnyi-planshet-acer-iconia.html" rel="bookmark" title="Tablet híbrido - Acer Iconia Tab W700 Video Review e Unboxing"><img width="218" height="150" class="entry-thumb" src="/uploads/8963f5abaa116939d3496e374bc1525e.jpg" alt="Tablet híbrido - Acer Iconia Tab W700 Video Review e Unboxing" title="Tablet híbrido - Acer Iconia Tab W700 Video Review e Unboxing"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/obzor-i-testirovanie-plansheta-acer-iconia-w700-gibridnyi-planshet-acer-iconia.html" rel="bookmark" title="Tablet híbrido - Acer Iconia Tab W700 Video Review e Unboxing">Tablet híbrido - Acer Iconia Tab W700 Video Review e Unboxing</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/planshetnyi-kompyuter-acer-iconia-w700-acer-iconia-w700-samyi-dostupnyi.html" rel="bookmark" title="Acer Iconia W700: Tablet Windows mais acessível com Core i5"><img width="218" height="150" class="entry-thumb" src="/uploads/7e738aceb579075ac02fd0a56d506e01.jpg" alt="Acer Iconia W700: Tablet Windows mais acessível com Core i5" title="Acer Iconia W700: Tablet Windows mais acessível com Core i5"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/planshetnyi-kompyuter-acer-iconia-w700-acer-iconia-w700-samyi-dostupnyi.html" rel="bookmark" title="Acer Iconia W700: Tablet Windows mais acessível com Core i5">Acer Iconia W700: Tablet Windows mais acessível com Core i5</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/iexplorer-kopaemsya-v-failah-ios-ustroistv-s-udobstvom-narezaem.html" rel="bookmark" title="IExplorer - vasculhando os arquivos de dispositivos iOS com conveniência"><img width="218" height="150" class="entry-thumb" src="/uploads/82800fdcee23e52c598dca8bdf1e90fd.jpg" alt="IExplorer - vasculhando os arquivos de dispositivos iOS com conveniência" title="IExplorer - vasculhando os arquivos de dispositivos iOS com conveniência"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/iexplorer-kopaemsya-v-failah-ios-ustroistv-s-udobstvom-narezaem.html" rel="bookmark" title="IExplorer - vasculhando os arquivos de dispositivos iOS com conveniência">IExplorer - vasculhando os arquivos de dispositivos iOS com conveniência</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div> </div> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_12_5a23980e79990_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_12_5a23980e79990" > <div class="td-block-title-wrap"></div><div id=td_uid_12_5a23980e79990 class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/3d-effekt-v-fotoshope-delaem-anaglif-foto-v-photoshop-i-etap-kadrirovanie.html" rel="bookmark" title="Como fazer uma foto anaglifo no Photoshop"><img width="218" height="150" class="entry-thumb" src="/uploads/b6be2998d5587f49135c4f85ccb1e1ad.jpg" alt="Como fazer uma foto anaglifo no Photoshop" title="Como fazer uma foto anaglifo no Photoshop"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/3d-effekt-v-fotoshope-delaem-anaglif-foto-v-photoshop-i-etap-kadrirovanie.html" rel="bookmark" title="Como fazer uma foto anaglifo no Photoshop">Como fazer uma foto anaglifo no Photoshop</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/kak-otpravit-soobshchenie-v-zadannoe-vremya-kak-otpravlyat-soobshcheniya-imessage-i-sms-na.html" rel="bookmark" title="Como enviar iMessages e SMS no iPhone na programação"><img width="218" height="150" class="entry-thumb" src="/uploads/77b4823fd82a3e99bcd2951410d767d7.jpg" alt="Como enviar iMessages e SMS no iPhone na programação" title="Como enviar iMessages e SMS no iPhone na programação"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/kak-otpravit-soobshchenie-v-zadannoe-vremya-kak-otpravlyat-soobshcheniya-imessage-i-sms-na.html" rel="bookmark" title="Como enviar iMessages e SMS no iPhone na programação">Como enviar iMessages e SMS no iPhone na programação</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/kak-postavit-taimer-na-soobshchenie-v-vk-kak-otpravlyat-otlozhennye-pisma-na.html" rel="bookmark" title="Como enviar e-mails atrasados ​​no iPhone e iPad"><img width="218" height="150" class="entry-thumb" src="/uploads/112386173ba677a0102ce2f46c853646.jpg" alt="Como enviar e-mails atrasados ​​no iPhone e iPad" title="Como enviar e-mails atrasados ​​no iPhone e iPad"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/kak-postavit-taimer-na-soobshchenie-v-vk-kak-otpravlyat-otlozhennye-pisma-na.html" rel="bookmark" title="Como enviar e-mails atrasados ​​no iPhone e iPad">Como enviar e-mails atrasados ​​no iPhone e iPad</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/uronil-aifon-v-sneg-ne-vklyuchaetsya-aifon-upal-v-sneg-ne-rabotaet-dinamik-chto.html" rel="bookmark" title="O iPhone caiu na neve, o alto-falante não funciona"><img width="218" height="150" class="entry-thumb" src="/uploads/765c931db160e559bf94638280af78ee.jpg" alt="O iPhone caiu na neve, o alto-falante não funciona" title="O iPhone caiu na neve, o alto-falante não funciona"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/uronil-aifon-v-sneg-ne-vklyuchaetsya-aifon-upal-v-sneg-ne-rabotaet-dinamik-chto.html" rel="bookmark" title="O iPhone caiu na neve, o alto-falante não funciona">O iPhone caiu na neve, o alto-falante não funciona</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/nashel-iphone-chto-delat-kak-naiti-vyklyuchennyi-iphone-i-mozhno-li-eto-sdelat.html" rel="bookmark" title="Como encontrar um iPhone desligado e isso pode ser feito?"><img width="218" height="150" class="entry-thumb" src="/uploads/583a4de8055bdfe649aa3fd553d2e675.jpg" alt="Como encontrar um iPhone desligado e isso pode ser feito?" title="Como encontrar um iPhone desligado e isso pode ser feito?"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/nashel-iphone-chto-delat-kak-naiti-vyklyuchennyi-iphone-i-mozhno-li-eto-sdelat.html" rel="bookmark" title="Como encontrar um iPhone desligado e isso pode ser feito?">Como encontrar um iPhone desligado e isso pode ser feito?</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/otkryt-levoe-menyu-foros-chto-posmotret-i-posetit-v-forose-i-ego-okrestnostyah-muzei-kakie-stoit-p.html" rel="bookmark" title="O que ver e visitar em Foros e seus arredores Museus"><img width="218" height="150" class="entry-thumb" src="/uploads/54b5e63db049a215eb97e5e2d094acf7.jpg" alt="O que ver e visitar em Foros e seus arredores Museus" title="O que ver e visitar em Foros e seus arredores Museus"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/otkryt-levoe-menyu-foros-chto-posmotret-i-posetit-v-forose-i-ego-okrestnostyah-muzei-kakie-stoit-p.html" rel="bookmark" title="O que ver e visitar em Foros e seus arredores Museus">O que ver e visitar em Foros e seus arredores Museus</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div> </div> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_13_5a23980e7caa8_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_13_5a23980e7caa8" > <div class="td-block-title-wrap"></div><div id=td_uid_13_5a23980e7caa8 class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/otdyh-v-forose-otdyh-v-forose-na-chernom-more-v-krymu-chto-posmotret-v.html" rel="bookmark" title="Descanse em Foros, no Mar Negro, na Crimeia. O que ver nas proximidades"><img width="218" height="150" class="entry-thumb" src="/uploads/54b5e63db049a215eb97e5e2d094acf7.jpg" alt="Descanse em Foros, no Mar Negro, na Crimeia. O que ver nas proximidades" title="Descanse em Foros, no Mar Negro, na Crimeia. O que ver nas proximidades"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/otdyh-v-forose-otdyh-v-forose-na-chernom-more-v-krymu-chto-posmotret-v.html" rel="bookmark" title="Descanse em Foros, no Mar Negro, na Crimeia. O que ver nas proximidades">Descanse em Foros, no Mar Negro, na Crimeia. O que ver nas proximidades</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/retush-fotografii-prilozhenie-programmy-dlya-obrabotki.html" rel="bookmark" title="Software de processamento de fotos"><img width="218" height="150" class="entry-thumb" src="/uploads/3500bae4cee5b7c6c4b1ba32aa553ed5.jpg" alt="Software de processamento de fotos" title="Software de processamento de fotos"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/retush-fotografii-prilozhenie-programmy-dlya-obrabotki.html" rel="bookmark" title="Software de processamento de fotos">Software de processamento de fotos</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/obrabotka-fotografii-programmy-dlya-retushi-luchshie.html" rel="bookmark" title="Melhores aplicativos iOS para retoque de fotos"><img width="218" height="150" class="entry-thumb" src="/uploads/452e9e0814e2db5f7907d5cb15e8136d.jpg" alt="Melhores aplicativos iOS para retoque de fotos" title="Melhores aplicativos iOS para retoque de fotos"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/obrabotka-fotografii-programmy-dlya-retushi-luchshie.html" rel="bookmark" title="Melhores aplicativos iOS para retoque de fotos">Melhores aplicativos iOS para retoque de fotos</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/fotografii-2-megapikselya-megapiksel---chto-eto-takoe-i-skolko-ih.html" rel="bookmark" title="Megapixel - o que é e quantos deveria haver?"><img width="218" height="150" class="entry-thumb" src="/uploads/253340607020607214a4664cd2c29908.jpg" alt="Megapixel - o que é e quantos deveria haver?" title="Megapixel - o que é e quantos deveria haver?"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/fotografii-2-megapikselya-megapiksel---chto-eto-takoe-i-skolko-ih.html" rel="bookmark" title="Megapixel - o que é e quantos deveria haver?">Megapixel - o que é e quantos deveria haver?</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/programma-sohraneniya-audio-iz-interneta-sohranyaem-audio-iz.html" rel="bookmark" title="Nós salvamos áudio da Internet em arquivos"><img width="218" height="150" class="entry-thumb" src="/uploads/d325edc1ea0f7fba351d90809208301a.jpg" alt="Nós salvamos áudio da Internet em arquivos" title="Nós salvamos áudio da Internet em arquivos"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/programma-sohraneniya-audio-iz-interneta-sohranyaem-audio-iz.html" rel="bookmark" title="Nós salvamos áudio da Internet em arquivos">Nós salvamos áudio da Internet em arquivos</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://obanracer.ru/pt/zabyl-kod-parol-ogranichenii-na-iphone-5s-chto-delat-esli-zabyl-parol-ogranichenii-v.html" rel="bookmark" title="O que fazer se você esqueceu a senha de restrição no seu iPhone ou iPad"><img width="218" height="150" class="entry-thumb" src="/uploads/536b787b3515718158bd24fcd48eaee4.jpg" alt="O que fazer se você esqueceu a senha de restrição no seu iPhone ou iPad" title="O que fazer se você esqueceu a senha de restrição no seu iPhone ou iPad"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://obanracer.ru/pt/zabyl-kod-parol-ogranichenii-na-iphone-5s-chto-delat-esli-zabyl-parol-ogranichenii-v.html" rel="bookmark" title="O que fazer se você esqueceu a senha de restrição no seu iPhone ou iPad">O que fazer se você esqueceu a senha de restrição no seu iPhone ou iPad</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div><aside class="td_block_template_1 widget widget_text"> <div class="textwidget"> </div> </aside><aside class="td_block_template_1 widget widget_text"> <div class="textwidget"> </div> </aside> </div> </div> </div> </div> <div class="td-sub-footer-container td-container-wrap "> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span td-sub-footer-menu"> </div> <div class="td-pb-span td-sub-footer-copy">Copyright 2022 - Conserto de Computador e Laptop. Placas de vídeo, discos rígidos, internet, monitores.</div> </div> </div> </div> </div> <style type="text/css" media="screen"> /* custom css theme panel */ .td-post-header .entry-title { font-weight: normal !important; } h1.entry-title { font-weight: normal !important; border-bottom:#c44c4c 2px dotted; } h1.entry-title:before { content: "\f184"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .sf-menu ul .td-menu-item > a:hover, .sf-menu ul .sfHover > a, .sf-menu ul .current-menu-ancestor > a, .sf-menu ul .current-category-ancestor > a, .sf-menu ul .current-menu-item > a { color: #edf3f7; } .td-post-content h2 { border-bottom:#c44c4c 2px dotted;} .td-post-content h2:before { content: "\f184"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-post-content h3 { border-bottom:#c44c4c 2px dotted;} .td-post-content h3:before { content: "\f103"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .category-my .td-page-title { color:#c44c4c; font-weight: 400; font-size: 36px; } .post header .entry-title { line-height: 40px; } .td-category-description h2, .td-category-description h3 { color:#c44c4c;} .td-category-description h2 { border-bottom:#c44c4c 2px solid;} .td-category-description h2:before { content: "\f055"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-category-description h3 { border-bottom:#c44c4c 2px solid;} .td-category-description h3:before { content: "\f103"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-category-description ol, .td-category-description ul { margin-top:20px !important; margin-bottom:20px !important;} .td-category-description ul, .td-post-content ul { padding:0; margin:0; list-style:none; clear:both;} .td-category-description ul li, .td-post-content ul li { padding:0 0 0 15px; margin:0 0 10px 35px; position:relative;} .td-category-description ul li:before, .td-post-content ul li:before { content: "\f192"; font-family: "FontAwesome"; color:#c44c4c; position:absolute; left:-10px;} .td-category-description ol, .td-post-content ol { padding:0; margin:0 0 0 5px; list-style:none; counter-reset: lipoint; clear:both;} .td-category-description ol li, .td-post-content ol li { padding:0 0 0 15px; margin:0 0 10px 35px; position:relative;} .td-category-description ol li:before, .td-post-content ol li:before { content: counter(lipoint); counter-increment: lipoint; color:#fff; position:absolute; left:-16px; background:#c44c4c; width:20px; height:20px; line-height:20px; text-align:center; -webkit-border-radius: 20px;border-radius: 20px; font-size:12px; top:3px;} .toc_list li:before { display:none} .td-header-style-9 .td-header-menu-wrap-full { /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#c44c4c+0,c10000+100 */ background: #c44c4c; /* Old browsers */ background: -moz-linear-gradient(top, #c44c4c 0%, #c10000 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #c44c4c 0%,#c10000 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #c44c4c 0%,#c10000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c44c4c', endColorstr='#c10000',GradientType=0 ); /* IE6-9 */ } .sf-menu > li > a { color: #fff; } .td-header-style-9 .header-search-wrap .td-icon-search { color: #fff; } .td-affix a { color:#000 !important;} </style> <script type='text/javascript'> /* <![CDATA[ */ var tocplus = { "smooth_scroll":"1"} ; /* ]]> */ </script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/table-of-contents-plus/front.min.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/wp-postratings/js/postratings-js.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/themes/Newspaper/js/tagdiv_theme.js'></script> <script type='text/javascript' src='/wp-includes/js/comment-reply.min.js'></script> <script type='text/javascript'> /* <![CDATA[ */ var boxzilla_options = { "testMode":"","boxes":[]} ; /* ]]> */ </script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/boxzilla/assets/js/script.min.js'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/client/js/prod/lib.core.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/client/js/prod/lib.view.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/themes/baseline/js/prod/client.js'></script> <script type='text/javascript' src='/assets/client1.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/template-tags/item/js/prod/tag.item.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/template-tags/ui/js/prod/tag.ui.js'></script> <script type='text/javascript' src='https://obanracer.ru/wp-content/plugins/simple-lightbox/content-handlers/image/js/prod/handler.image.js'></script> <script> (function(){ var html_jquery_obj = jQuery('html'); if (html_jquery_obj.length && (html_jquery_obj.is('.ie8') || html_jquery_obj.is('.ie9'))) { var path = '/wp-content/themes/Newspaper/style.css'; jQuery.get(path, function(data) { var str_split_separator = '#td_css_split_separator'; var arr_splits = data.split(str_split_separator); var arr_length = arr_splits.length; if (arr_length > 1) { var dir_path = '/wp-content/themes/Newspaper'; var splited_css = ''; for (var i = 0; i < arr_length; i++) { if (i > 0) { arr_splits[i] = str_split_separator + ' ' + arr_splits[i]; } //jQuery('head').append('<style>' + arr_splits[i] + '</style>'); var formated_str = arr_splits[i].replace(/\surl\(\'(?!data\:)/gi, function regex_function(str) { return ' url(\'' + dir_path + '/' + str.replace(/url\(\'/gi, '').replace(/^\s+|\s+$/gm,''); } ); splited_css += "<style>" + formated_str + "</style>"; } var td_theme_css = jQuery('link#td-theme-css'); if (td_theme_css.length) { td_theme_css.after(splited_css); } } } ); } } )(); </script> </body> </html>