Ajuda com criação de extensão com sistema de votação

Suporte as extensões phpBB 3.1 e 3.2
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca amarelo. Imagem
eunaumtenhoid
Novato
Novato
Mensagens: 98
Registrado em: 12 Mai 2009, 04:26
Localização: No momento, aqui no forum suportephpbb
Contact:

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por eunaumtenhoid » 21 Fev 2018, 10:02

fantastico cara parabens acompanhando o projeto^^
Minhas traduções das extensões mais usada no phpBB, para o português brasileiro:
https://github.com/phpBBTraducoes

Avatar do usuário
_Vinny_
Administrador
Administrador
Mensagens: 5791
Registrado em: 03 Set 2009, 21:59
Nome Real: Marcus Vinicius
Localização: Macapá, AP - Brasil
Contact:

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por _Vinny_ » 21 Fev 2018, 11:33

Então você pode usar o evento viewtopic_body_postrow_post_after.

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 22 Fev 2018, 20:42

_Vinny_ escreveu:
21 Fev 2018, 11:33
Então você pode usar o evento viewtopic_body_postrow_post_after.
Ótime dica, Vinny.
Acabei utilizando o evento viewtopic_panel_post_body_inner, pois o postrow ficava após a respostá rápido no tema que eu uso.

#ATT3
Consegui fazer a injeção de HTML/CSS/JS no tema por meio da extensão. Para isso Utilizei a pasta STYLE e dentro dela criei uma pasta EVENT, tendo essa, as pastas dos css e js responsáveis pela funcionalidade da ferramenta. O esquema do EVENT para os arquivos HTML é o mesmo que eu utilizei para injetar o botão de sim/não no painel admin (#ATT1).

Aproveitei para fazer esse esquema de imagem retratando o que eu aprendi até o momento (será atualizado à medida que eu for aprendendo) com as funções de cada pasta dentro da extensão.
tuto.jpg
Bem, até esse momento eu já: consegui injetar html na pasta do painel administrador e, também, o html/css/js responsáveis pelos efeitos visuais da minha ferramenta.

Vou disponibilizar a minha extensão no github, e também ativarei-a em meu site para que vocês acompanhem as funcionalidades. (meu único problema com isso até o momento é que o esquema oferecido pela extensão SKELETON veio com alguns EVENT que estão modificando alguns funções no tema, como os títulos dos tópicos, e que eu ainda não me sinto seguro de saber o que eu posso tirar dela ou não. Mesmo assim vou upar.)

**Alguém sabe quais arquivos/códigos eu posso tirar com segurança para remover esse event do skeleton que está modificando os títulos dos tópicos com :: Acme Event :: ???

Obrigado!
Editado pela última vez por caiocald em 02 Mar 2018, 06:00, em um total de 2 vezes.

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 22 Fev 2018, 20:49

ATT #4

Bem, agora com toda estrutura html/css/js em pleno funcionamento, darei continuidade ao tutorial de criação de extensão criação o código de migração com o banco de dados.

Como eu criei o botão no painel admin de ativa/desativar para mostrar ou não a ferramenta em cada tópico. Precisará, por consequência, da interação do botão com o banco de dados para registrar a escolha entre sim (ativar) e não (desativar).

Para isso, a plataforma PHPBB conta com uma pasta nos arquivos de extensão chamada MIGRATIONS, e é nela que você deverá inserir os códigos de registro.

Como eu ainda não sei como deverei proceder essa migração, pois o meu botão está dentro de um formulário já pronto do próprio PHPBB, creio que deverei introduzir (por extensão mesmo) em alguma pasta/arquivo que faça esse adendo na pasta padrão da plataforma PHPBB.

Estou estudando isso (continua...)

Terminei mais um dia de leitura e tentativas, mas não consegui compreender a função da pasta migrations corretamente. Consultando as extensões do desenvolvedor do meu tema e, também, a pasta padrão do php, percebi que existem vários arquivos com diferentes nomenclaturas dentro dessa pasta.

As dúvidas que ficaram pra mim e que pergunto a quem souber são:
Como saber em qual arquivo/ou qual nomenclatura usar para fazer a migração por extensão?
Qual a diferença entre essas pasta de arquivos presentes em ambas pastas?
Como vou saber com qual delas eu terei de trabalhar?

Mais uma vez, obrigado pelo espaço!

Segue em anexo o print com as duas pastas (a migrations da própria phpbb e a migrations da extensão gerada pelo SKELETON).
ytytyty.jpg
Editado pela última vez por caiocald em 25 Fev 2018, 13:49, em um total de 1 vez.

henrique.seven2011
Moderador
Moderador
Mensagens: 786
Registrado em: 23 Mar 2012, 13:50
Nome Real: Saulo Henrique

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por henrique.seven2011 » 23 Fev 2018, 08:24

caiocald escreveu:
22 Fev 2018, 20:42
_Vinny_ escreveu:
21 Fev 2018, 11:33
Então você pode usar o evento viewtopic_body_postrow_post_after.
Ótime dica, Vinny.
Acabei utilizando o evento viewtopic_panel_post_body_inner, pois o postrow ficava após a respostá rápido no tema que eu uso.

#ATT3
Consegui fazer a injeção de HTML/CSS/JS no tema por meio da extensão. Para isso Utilizei a pasta STYLE e dentro dela criei uma pasta EVENT, tendo essa, as pastas dos css e js responsáveis pela funcionalidade da ferramenta. O esquema do EVENT para os arquivos HTML é o mesmo que eu utilizei para injetar o botão de sim/não no painel admin (#ATT1).

Aproveitei para fazer esse esquema de imagem retratando o que eu aprendi até o momento (será atualizado à medida que eu for aprendendo) com as funções de cada pasta dentro da extensão.
tuto.jpg

Bem, até esse momento eu já: consegui injetar html na pasta do painel administrador e, também, o html/css/js responsáveis pelos efeitos visuais da minha ferramenta.

Vou disponibilizar a minha extensão no github, e também ativarei-a em meu site para que vocês acompanhem as funcionalidades. (meu único problema com isso até o momento é que o esquema oferecido pela extensão SKELETON veio com alguns EVENT que estão modificando alguns funções no tema, como os títulos dos tópicos, e que eu ainda não me sinto seguro de saber o que eu posso tirar dela ou não. Mesmo assim vou upar.)

Link da ferramenta funcionando (totalmente por extensão) em meu fórum: https://www.projetoredacaonota1000.com. ... f=5&t=2077
Link da extensão (em construção): https://github.com/caiocald/pontuacao

**Alguém sabe quais arquivos/códigos eu posso tirar com segurança para remover esse event do skeleton que está modificando os títulos dos tópicos com :: Acme Event :: ???

Obrigado!
https://github.com/msaulohenrique/codeg ... 542263f5ca

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 23 Fev 2018, 16:39

Henrique, além dessa modificação, posso tirar de mais quais? Pois vários arquivos da skeleton estão infestados com esses códigos. Obrigado!

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 24 Fev 2018, 09:04

ATT #5

Inserindo a coluna display_pontuacao_enem na tabela forums do banco de dados por meio da migrations...

Como lido até aqui, preciso que a minha ferramenta de pontuação seja mostrada apenas em tópicos habilitados e, pra isso, eu precisaria de um campo (coluna) na tabela FORUMS com valores de 0 (não) e 1 (sim) para mostrar ou não a ferramenta por meio de um EVENT.

Depois de ler mais um pouco mostrarei como fazer a migração de colunas ou mesmo tabela no banco de dados por meio da extensão.

Não tem muito mistério, o próprio tutorial da Área 51 mostra como deve ser feito. O único detalhe para se atentar é a função que cada chamada vai exercer no banco de dados.

update_schema() irá adicionar coluna/tabela em na estrutura de seu banco de dados.
aqui na função update_schema, você poderá, por exemplo, setar valores padrão para a sua tabela sem necessidade de uma alteração manual no próprio banco de dados

revert_schema() irá habilitar o que será removido após a desativação de sua extensão (com um drop, por exemplo).

Já as funções:
update_data() e Revert_data() são responsáveis pela injeção de CONTEÚDO nessas tabelas já criadas.

Perceba, aqui, que há uma hierarquia na sequência de migrações, pois para injetar um conteúdo, primeiramente, é preciso estabelecer o lugar que ele irá alocar. Pra isso, o phpbb fornece a função depends_on() que nada mais é uma forma de dizer para a renderização a sequência exata que deverá ser seguida. *imagina um caso em que a função data viesse na frente da schema? certamente dará erro*

Enquanto a maneira de escrever o código, a extensão skeleton (utilizada como molde neste tópico) já traz tudo pronto, apenas necessitando de algumas alterações.

Fazendo isso, assim que a extensão for instalada, a migração acrescentará as modificações que você escreveu dentro da pasta. No meu caso, como eu precisava de um campo para poder setar o habilitar/desabilitar da ferramenta em cada tópico, optei por injetar uma coluna na própria tabela FORUMS.
localhost MySQL phpbb phpbb_forums phpMyAdmin 4.7.4.png
.

Bem, até o momento já consegui:
Injetar o HTML do botão no painel de administração (fórum).
Injetar o HTML da ferramenta no tópico.
(E agora) Acrescentar uma coluna no banco de dados para fazer o esquema de habilitar/desabilitar por meio do update_schema.

Próximo passo será fazer a conexão entre o botão e essa coluna no banco de dados para fazer a escolha entre sim e não no próprio painel de controle. Confesso que não tenho a menor noção de como fazer isso ou em que pasta eu deverei utilizar para colocar o código, mas seguirei tentando.

Peço ajuda para os que souberem essa parte, pois estou perdido e no tutorial da área 51 eu não consegui perceber nada parecido.

Até!!!

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 24 Fev 2018, 15:52

@_Vinny_

Poderia me dar um help nessa parte, por favor?

henrique.seven2011
Moderador
Moderador
Mensagens: 786
Registrado em: 23 Mar 2012, 13:50
Nome Real: Saulo Henrique

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por henrique.seven2011 » 24 Fev 2018, 18:36

caiocald escreveu:
23 Fev 2018, 16:39
Henrique, além dessa modificação, posso tirar de mais quais? Pois vários arquivos da skeleton estão infestados com esses códigos. Obrigado!
Limpe o cache do phpBB.

caiocald
Novato
Novato
Mensagens: 16
Registrado em: 25 Nov 2017, 10:48

Re: Ajuda com criação de extensão com sistema de votação

Mensagem por caiocald » 24 Fev 2018, 18:51

henrique.seven2011 escreveu:
24 Fev 2018, 18:36
Limpe o cache do phpBB.
Opa! Não foi essa pergunta, Henrique. É sobre os arquivos com códigos da ACME_DEMO espalhados dentro da extensão gerada, tipo um lixo mesmo.
Mas de boa, vou deixa-los por enquanto pois estão me servindo como referência!
Obrigado, consegui tirar o event do nome!

Responder